Skip to main content

Attribution Quality

This package was designed to both generate explanations for deep learning segmentation models as well as to provide comprehensive metrics for evaluating new explanation methods.

We have included our novel explanation method, Kernel-Weighted Contribution, as well as a number of other XAI methods adapted for use with segmentation models. With the additional use of our explanation ground-truth dataset, we can evaluate the quality of these methods and provide a comprehensive comparison of their performance.

Startup Instructions

Note - We use mamba to install packages, but you can use conda in the same way if you prefer.

  1. Install attribution_quality requirements
    1. Either install torch or build from source
    2. mamba install -c conda-forge numpy scikit-image tqdm
  2. Install attribution_quality
    1. METHOD 1 (recommended)
      1. pip install attribution_quality --no-deps
    2. METHOD 2 (for local development)
      1. git clone git@github.com:Mullans/AttributionQuality.git
      2. cd AttributionQuality
      3. pip install -e . --no-deps
  3. (Optional) Install SimpleITK and matplotlib for the example notebooks and for some evaluation metrics
    1. mamba install -c simpleitk -c conda-forge simpleitk matplotlib

nnUNet Setup Instructions (optional)

Note: We used nnUNet for the experiments described in our paper. You can skip this section unless you want to reproduce our results.

  1. Install nnUNet requirements
    1. mamba install -c conda-forge -c simpleitk dicom2nifti medpy scikit-learn simpleitk pandas nibabel matplotlib
    2. pip install batchgenerators
  2. Install nnUNet v1
    1. git clone -b nnunetv1 --single-branch git@github.com:MIC-DKFZ/nnUNet.git
    2. cd nnunet
    3. pip install -e . --no-deps
  3. Finish setting up nnUNet
    1. Set nnUNet_raw_data_base, nnUNet_preprocessed, and RESULTS_FOLDER environment variables

Attribution Quality Example Notebooks

  1. examples/SingleLayer_Example.ipynb - Example Jupyter notebook showing how to use this package to generate explanations for a single layer of a segmentation model
  2. examples/Full_KWC_Example.ipynb - Example Jupyter notebook showing how to run Kernel-Weighted Contribution on all layers of a segmentation model and evaluate the resulting attribution map

Currently included methods of explanation:

Kernel-Weighted Contribution ScoreCAM
GradCAM GradCAM++ LayerCAM
XGradCAM Element-wise GradCAM HiResCAM

Metadata

Release files for attribution-quality 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for attribution-quality 1.0
File Size Uploaded
attribution_quality-1.0.tar.gz 314.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for attribution-quality 1.0
File Interpreter ABI Platform
attribution_quality-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 343.3 kB

Release files / attribution_quality-1.0.tar.gz

Download URL attribution_quality-1.0.tar.gz
Size 314.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8d0bab7ac383c5509079ddee245244d6374e14a534327d2dc1b53d0209911d61
BLAKE2b-256 checksum
How to use checksums
e3a412aecebb5c7992f88aa99421332bafd76cd3414cfc9a74fc961e5143851d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / attribution_quality-1.0-py3-none-any.whl

Download URL attribution_quality-1.0-py3-none-any.whl
Size 29.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3f38eeb4048380cad328f838418976f8c0c1402e9c8eabf0ab94c2b1015a7cf
BLAKE2b-256 checksum
How to use checksums
29f809f52e843a1c8c001dc158d809700f052bdb40322ad33596def9f2ecb792
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page