Multi-visualiser · one explainer, two rendering styles¶
One Captum Integrated Gradients explainer with two visualisers — a blended heat-map and a plain heat-map of the same attributions. Demonstrates the `visualisers:` list on a single transparency run.
defaults:
- raitap_schema
- reporting: html
- metrics: multiclass_classification
- _self_
hardware: gpu
experiment_name: multi-visualiser
model:
source: vit_b_32
data:
name: imagenet_samples
source: imagenet_samples
forward_batch_size: 4
labels:
source: imagenet_samples
id_column: image
column: label
metrics:
num_classes: 1000
# Drop a sentinel label from the metric — useful when labels.csv encodes
# "unknown" / "background" as -1 and you want them excluded from accuracy.
ignore_index: -1
transparency:
default:
_target_: CaptumExplainer
algorithm: IntegratedGradients
call:
target: 0
visualisers:
- _target_: CaptumImageVisualiser
constructor:
method: blended_heat_map
sign: all
title: Integrated gradients (blended)
- _target_: CaptumImageVisualiser
constructor:
method: heat_map
sign: absolute_value
title: Integrated gradients (absolute)
from raitap import AppConfig, Hardware, run
from raitap.data import DataConfig, LabelsConfig
from raitap.metrics import multiclass_classification
from raitap.models import ModelConfig
from raitap.reporting import html
from raitap.transparency import captum, captum_image
cfg = AppConfig(
hardware=Hardware.gpu,
experiment_name="multi-visualiser",
model=ModelConfig(source="vit_b_32"),
data=DataConfig(
name="imagenet_samples",
source="imagenet_samples",
forward_batch_size=4,
labels=LabelsConfig(
source="imagenet_samples",
id_column="image",
column="label",
),
),
metrics=multiclass_classification(num_classes=1000, ignore_index=-1),
transparency={
"default": captum(
algorithm="IntegratedGradients",
call={"target": 0},
visualisers=[
captum_image(
method="blended_heat_map",
sign="all",
title="Integrated gradients (blended)",
),
captum_image(
method="heat_map",
sign="absolute_value",
title="Integrated gradients (absolute)",
),
],
),
},
reporting=html(filename="report"),
)
outputs = run(cfg, auto_install_deps=True)
Expected output
outputs/<date>/<time>/
├── metrics/{metrics.json, artifacts.json, metadata.json, metrics_overview.png}
├── transparency/default/{attributions.pt, CaptumImageVisualiser_0.png, CaptumImageVisualiser_1.png, metadata.json}
└── reports/{report.html, report.zip, _assets/…}