The re-implementation of Smooth Grad-CAM++ with pytorch. This repo also includes the code of CAM, Grad-CAM and Grad-CAM++.
- python 3.x
- pytorch >= 0.4
- pillow
- numpy
- opencv
- matplotlib
You can use the CAM, GradCAM, GradCAM++ and Smooth Grad-CAM++ as a model wrapper described in cam.py
.
Please see demo.ipynb
for the detail.
image | ||
---|---|---|
CAM | ||
Grad-CAM | ||
Grad-CAM++ | ||
Smooth Grad-CAM++ |
- Smooth Grad-CAM++: An Enhanced Inference Level Visualization Technique for Deep Convolutional Neural Network Models,
Daniel Omeiza, Skyler Speakman, Celia Cintas, Komminist Weldermariam [paper] - Learning Deep Features for Discriminative Localization, Bolei Zhou, Aditya Khosla, Agata Lapedriza, Aude Oliva, Antonio Torralba [paper]
- Grad-CAM: Visual explanations from deep networks via gradient-based localization, Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, Dhruv Batra, [arXiv]
- Grad-CAM++: Improved Visual Explanations for Deep Convolutional Networks, Aditya Chattopadhyay, Anirban Sarkar, Prantik Howlader and Vineeth N Balasubramanian[arXiv]