All Projects → yulongwang12 → Visual Attribution

yulongwang12 / Visual Attribution

Licence: bsd-2-clause
Pytorch Implementation of recent visual attribution methods for model interpretability

Projects that are alternatives of or similar to Visual Attribution

Explainx
Explainable AI framework for data scientists. Explain & debug any blackbox machine learning model with a single line of code.
Stars: ✭ 196 (+54.33%)
Mutual labels:  jupyter-notebook, interpretability
Tcav
Code for the TCAV ML interpretability project
Stars: ✭ 442 (+248.03%)
Mutual labels:  jupyter-notebook, interpretability
Facet
Human-explainable AI.
Stars: ✭ 269 (+111.81%)
Mutual labels:  jupyter-notebook, interpretability
Mli Resources
H2O.ai Machine Learning Interpretability Resources
Stars: ✭ 428 (+237.01%)
Mutual labels:  jupyter-notebook, interpretability
Athena
Automatic equation building and curve fitting. Runs on Tensorflow. Built for academia and research.
Stars: ✭ 57 (-55.12%)
Mutual labels:  jupyter-notebook, interpretability
Imodels
Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).
Stars: ✭ 194 (+52.76%)
Mutual labels:  jupyter-notebook, interpretability
Lucid
A collection of infrastructure and tools for research in neural network interpretability.
Stars: ✭ 4,344 (+3320.47%)
Mutual labels:  jupyter-notebook, interpretability
Shap
A game theoretic approach to explain the output of any machine learning model.
Stars: ✭ 14,917 (+11645.67%)
Mutual labels:  jupyter-notebook, interpretability
Text nn
Text classification models. Used a submodule for other projects.
Stars: ✭ 55 (-56.69%)
Mutual labels:  jupyter-notebook, interpretability
Symbolic Metamodeling
Codebase for "Demystifying Black-box Models with Symbolic Metamodels", NeurIPS 2019.
Stars: ✭ 29 (-77.17%)
Mutual labels:  jupyter-notebook, interpretability
Interpretable machine learning with python
Examples of techniques for training interpretable ML models, explaining ML models, and debugging ML models for accuracy, discrimination, and security.
Stars: ✭ 530 (+317.32%)
Mutual labels:  jupyter-notebook, interpretability
Reverse Engineering Neural Networks
A collection of tools for reverse engineering neural networks.
Stars: ✭ 78 (-38.58%)
Mutual labels:  jupyter-notebook, interpretability
Cnn Interpretability
🏥 Visualizing Convolutional Networks for MRI-based Diagnosis of Alzheimer’s Disease
Stars: ✭ 68 (-46.46%)
Mutual labels:  jupyter-notebook, interpretability
Pycebox
⬛ Python Individual Conditional Expectation Plot Toolbox
Stars: ✭ 101 (-20.47%)
Mutual labels:  jupyter-notebook, interpretability
Stockperformanceclassification
Keras 1D CNN on Azure ML Workbench to classify 4 week stock performance based on text in public earnings statements
Stars: ✭ 126 (-0.79%)
Mutual labels:  jupyter-notebook
Finlib
A streamlined library for getting historical financial price data, fundamental data, and financial ratios.
Stars: ✭ 127 (+0%)
Mutual labels:  jupyter-notebook
Reptilesomething
抓点什么玩玩~
Stars: ✭ 126 (-0.79%)
Mutual labels:  jupyter-notebook
Deepkoopman
neural networks to learn Koopman eigenfunctions
Stars: ✭ 126 (-0.79%)
Mutual labels:  jupyter-notebook
Aihub
I use this repository for my Youtube channel where I share videos about Artificial Intelligence. The repository includes Machine Learning, Deep Learning, and Reinforcement learning's code.
Stars: ✭ 127 (+0%)
Mutual labels:  jupyter-notebook
Earthengine Community
Tutorials and content created by Earth Engine users, for Earth Engine users
Stars: ✭ 127 (+0%)
Mutual labels:  jupyter-notebook

Pytorch Visual Attribution Methods

A collection of visual attribution methods for model interpretability

Including:

  • [x] Vanilla Gradient Saliency
  • [x] Grad X Input
  • [x] Integrated Gradient
  • [x] SmoothGrad
  • [x] Deconv
  • [x] Guided Backpropagation
  • [x] Excitation Backpropagation, Contrastive Excitation Backpropagation
  • [x] GradCAM
  • [x] PatternNet, PatternLRP
  • [x] Real Time Saliency
  • [x] Occlusion
  • [x] Feedback
  • [x] DeepLIFT
  • [ ] Meaningful Perturbation

Setup

Prerequisities

  • Linux
  • NVIDIA GPU + CUDA (Current only support running on GPU)
  • Python 3.x
  • PyTorch version == 0.2.0 (Sorry I haven't tested on newer versions)
  • torchvision, skimage, matplotlib

Getting Started

  • Clone this repo:
git clone [email protected]:yulongwang12/visual-attribution.git
cd visual-attribution
  • Download pretrained weights
cd weights
bash ./download_patterns.sh  # for using PatternNet, PatternLRP
bash ./download_realtime_saliency.sh # for using Real Time Saliency

Note: I convert caffe bvlc_googlenet pretrained models in pytorch format (see googlenet.py and weights/googlenet.pth).

Visual Saliency Comparison

see notebook saliency_comparison.ipynb. If everything works, you will get the above image.

Weakly Supervised Object Localization

TBD

Citation

If you use our codebase or models in your research, please cite this project.

@misc{visualattr2018,
  author =       {Yulong Wang},
  title =        {Pytorch-Visual-Attribution},
  howpublished = {\url{https://github.com/yulongwang12/visual-attribution}},
  year =         {2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].