explainable-cnn

1.0.0last stable release 2 years ago
Complexity Score
Low
Open Issues
0
Dependent Projects
0
Weekly Downloadsglobal
240

Downloads

Readme

Explainable CNNs

📦 Flexible visualization package for generating layer-wise explanations for CNNs.

It is a common notion that a Deep Learning model is considered as a black box. Working towards this problem, this project provides flexible and easy to use pip package explainable-cnn that will help you to create visualization for any torch based CNN model. Note that it uses one of the data centric approach. This project focusses on making the internal working of the Neural layers more transparent. In order to do so, explainable-cnn is a plug & play component that visualizes the layers based on on their gradients and builds different representations including Saliency Map, Guided BackPropagation, Grad CAM and Guided Grad CAM.

Architechture

:star: Star us on GitHub — it helps!

Usage

Install the package

pip install explainable-cnn

To create visualizations, create an instance of CNNExplainer.

from explainable_cnn import CNNExplainer

x_cnn = CNNExplainer(...)

The following method calls returns numpy arrays corresponding to image for different types of visualizations.

saliency_map = x_cnn.get_saliency_map(...)

grad_cam = x_cnn.get_grad_cam(...)

guided_grad_cam = x_cnn.get_guided_grad_cam(...)

To see full list of arguments and their usage for all methods, please refer to this file

You may want to look at example usage in the example notebook.

Output

Below is a comparison of the visualization generated between GradCam and GuidedGradCam

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Ashutosh Hathidara
💻 🎨 🔬 🚧 ✅ ⚠️
Lalit Pandey
🔬 📖

This project follows the all-contributors specification. Contributions of any kind welcome!

References

  • Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
  • Grad CAM demonstrations in PyTorch

Dependencies

No runtime dependency information found for this package.

CVE IssuesActive
0
Scorecards Score
No Data
Test Coverage
No Data
Follows Semver
Yes
Github Stars
196
Dependenciestotal
0
DependenciesOutdated
0
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No

Learn how to distribute explainable-cnn in your own private PyPI registry

pip install explainable-cnn
Processing...
Done

10 Releases

PyPI on Cloudsmith

Getting started with PyPI on Cloudsmith is fast and easy.