📦 Flexible visualization package for generatinglayer-wise explanations for CNNs.
Project description
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
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 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3a91798f9d375ad6bcbfa85daa2ff7c5423c73ed0dcf896b93e790ab46dfdec |
|
MD5 | 023d3197d9a7185221dec9a9251c3991 |
|
BLAKE2b-256 | ef25dea8254e598ab17e3e3b93273e8dc0ca1ea77a1d1c6556e81707f05425fc |
File details
Details for the file explainable_cnn-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: explainable_cnn-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f4958c3252454b963d096b1d2040c6536108f7a49e785c861a62998e4f260a4 |
|
MD5 | a74be358ddd8097429987ae527a6c700 |
|
BLAKE2b-256 | 84a5c8eafd5a9cdf79ba48db4238498c6d2a8865863f1dfc7ae4daa6a4a5d66e |