atria_insights extends Atria's config-driven pattern to model explainability. It provides explanation pipelines, explainer methods, and explainability metrics — all as registered, configurable components that slot into the same TaskConfig hierarchy as training and evaluation.
The central idea
Explainability in Atria is not a post-hoc add-on. It is a first-class workflow:
ExplanationTaskConfig
├── data: DataConfig ← same dataset as training
├── model_pipeline: ModelPipelineConfig ← same model as training
└── explanation_pipeline: ExplanationPipelineConfig
├── explainer: ExplainerConfig ← which attribution method to use
└── explainability_metrics: ExplainabilityMetrics
ModelExplainer orchestrates the explanation run: it loads the dataset and model pipeline via the shared configs, wraps the pipeline in an ExplanationPipeline, runs the explainer over the data, computes explainability metrics, and stores results to disk (HDF5).
Module structure
atria_insights
├── configs/
│ └── explanation_task_config.py ← ExplanationTaskConfig
├── explanation_pipelines/ ← BaseExplanationPipeline + modality variants
├── explainers/
│ ├── _base.py ← Explainer base class
│ ├── _torchxai.py ← TorchXAI / Captum wrappers
│ └── _attn/ ← Attention-based explainers
├── explainability_metrics/
│ └── _torchxai/ ← Faithfulness, complexity, robustness, localization
├── baseline_generators/ ← Baseline inputs for gradient-based methods
├── feature_segmentors/ ← Feature grouping (superpixels, token spans)
├── perturbation_robustness/ ← Perturbation-based robustness analysis
├── engines/ ← Ignite engines for explanation and feature generation
├── storage/ ← HDF5 caching for attributions and metric results
└── model_explainer.py ← Top-level orchestrator
Key classes
| Class | Role |
|---|---|
ExplanationTaskConfig |
Config root for explanation runs |
BaseExplanationPipeline |
Wraps ModelPipeline with explanation-specific processing |
Explainer |
Base class for attribution methods |
ModelExplainer |
Orchestrator: pipeline + explainer + metrics + storage |
H5ExplanationStateCacher |
Stores attribution maps to HDF5 |
H5MetricDataCacher |
Stores metric values to HDF5 for cross-explainer comparison |
Relation to torchxai
atria_insights uses TorchXAI (the companion library) for the underlying attribution implementations and explainability metric computations. TorchXAI provides efficient Captum-based explainers and batch-scalable XAI metrics. Atria wraps these in its registry/config pattern, adding the storage, pipeline, and task config layers on top.