Skip to main content

📦 Flexible visualization package for generatinglayer-wise explanations for CNNs.

Project description

Explainable CNNs

Torch Version Torchvision Version Python Version test workflow Price Maintained

📦 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

explainable_cnn-1.0.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

explainable_cnn-1.0.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file explainable_cnn-1.0.0.tar.gz.

File metadata

  • Download URL: explainable_cnn-1.0.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.12

File hashes

Hashes for explainable_cnn-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d3a91798f9d375ad6bcbfa85daa2ff7c5423c73ed0dcf896b93e790ab46dfdec
MD5 023d3197d9a7185221dec9a9251c3991
BLAKE2b-256 ef25dea8254e598ab17e3e3b93273e8dc0ca1ea77a1d1c6556e81707f05425fc

See more details on using hashes here.

File details

Details for the file explainable_cnn-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for explainable_cnn-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f4958c3252454b963d096b1d2040c6536108f7a49e785c861a62998e4f260a4
MD5 a74be358ddd8097429987ae527a6c700
BLAKE2b-256 84a5c8eafd5a9cdf79ba48db4238498c6d2a8865863f1dfc7ae4daa6a4a5d66e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page