Model interpretability for PyTorch
Project description
ADGT is a model interpretability and understanding library for PyTorch. ADGT means Attribution Draws Ground Truth contains general purpose implementations of Saliency, InputXGradient, Deconv, LRP, Guided_BackProp, GradCAM, SmoothGrad, DeepLIFT, IntegratedGradients, RectGrad, FullGrad, CAMERAS, GIG, and others for PyTorch models. It provide users a quick and simple start for state-of-the-art modified-BP attribution methods.
ADGT is currently in beta and under active development!
Installation
Installation Requirements
- Python >= 3.6
- PyTorch >= 1.2
- captum
Installing the latest release
You can just copy this code and install ADGT with
python setup.py install
or you can choose to install ADGT with pip
pip install ADGT
Getting Started
Just three lines code, you can use ADGT to interpret why the target model make a decision on input images.
import ADGT
adgt = ADGT.ADGT(use_cuda=True, name='ImageNet')
attribution=adgt.pure_explain(img, model, method, pth))
Note that img is the input image (pytorch tensor), model is the target model (pytorch model), method is the name of attribution methods (algorithms listed below), pth is the save path, the visualization of explanation results (see demo dir) are exported to this dir, if pth is None, it will not export such visualization, attribution is the attrubtion maps (pytorch tensor).
References of Algorithms
Saliency
: Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps, K. Simonyan, et. al. 2014InputXGradient
: Not Just a Black Box: Learning Important Features Through Propagating Activation Differences, Avanti Shrikumar et al. 2016Deconv
: Visualizing and Understanding Convolutional Networks, Matthew D Zeiler et al. 2014Guided_Backprop
: Striving for Simplicity: The All Convolutional Net, Jost Tobias Springenberg et al. 2015LRP
: On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation, Sebastian Bach et al 2015GradCAM
: Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization, Ramprasaath R. Selvaraju et al. 2017SmoothGrad
: SmoothGrad: removing noise by adding noise, Daniel Smilkov et al. 2017DeepLift
: Learning Important Features Through Propagating Activation Differences, Avanti Shrikumar et al. 2017 and Towards better understanding of gradient-based attribution methods for deep neural networks, Marco Ancona et al. 2018IntegratedGradients
: Axiomatic Attribution for Deep Networks, Mukund Sundararajan et al. 2017 and Did the Model Understand the Question?, Pramod K. Mudrakarta, et al. 2018RectGrad
: Why are Saliency Maps Noisy? Cause of and Solution to Noisy Saliency Maps, Beomsu Kim et al 2019FullGrad
: Full-Gradient Representation for Neural Network Visualization, Suraj Srinivas et al 2019GIG
: Guided Integrated Gradients: an Adaptive Path Method for Removing Noise, Andrei Kapishnikov et al 2021CAMERAS
: CAMERAS: Enhanced Resolution And Sanity preserving Class Activation Mapping for image saliency, Mohammad A. A. K. Jalwana et al 2021
License
ADGT is BSD licensed, as found in the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ADGT-0.0.2.tar.gz
.
File metadata
- Download URL: ADGT-0.0.2.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0834699138adecdd6da7328385f8a003952d5af48fd615e3e67a75dfe9b478d6 |
|
MD5 | b16a0583ddbf255f75504bdd18d6e111 |
|
BLAKE2b-256 | b9e6af67042854ab709d53dfccf296f34a8c4a26e5aa3275d29ce3f399db778c |
File details
Details for the file ADGT-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: ADGT-0.0.2-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5faf60279d165e5260902695de6bd2fcab7fea7ac8e8226e88beac44c24a96e5 |
|
MD5 | 7c61775556581f144cad2833b1168345 |
|
BLAKE2b-256 | 787ca4096a048e22107c8f6a9597d1777bc71fd2c4be6328de2b7e4c5113adad |