Skip to content

clennan/nn-attribute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1267fd6 · Jan 3, 2018

History

22 Commits
Dec 20, 2017
Dec 20, 2017
Dec 28, 2017
Jan 3, 2018
Dec 28, 2017
Jan 3, 2018
Dec 28, 2017
Dec 20, 2017

Repository files navigation

Layer-wise Relevance Propagation (LRP) to attribute importance of input pixels

Generates heatmaps that highlight image pixels that were important for a CNN classification result. Currently only supports VGG16. The CNN and relevance propagation rules are implemented in TensorFlow.

Example:

For more details on LRP see:
http://heatmapping.org
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.
http://www.sciencedirect.com/science/article/pii/S0031320316303582?via%3Dihub
https://arxiv.org/abs/1512.02479

Setup:

  • create Python 3 virtual environment and activate the environment
virtualenv -p python3 ~/nn-attribute
source ~/nn-attribute/bin/activate
  • install Python dependencies with
pip3 install -r requirements.txt
  • download VGG16 pretrained weights
wget -P data/vgg16 ftp://mi.eng.cam.ac.uk/pub/mttt2/models/vgg16.npy

Generate heatmaps:

  • choose image file to generate heatmaps for (e.g. ./data/goose.jpg)
  • choose alpha (recommendation: alpha=2)
python -m heatmap \
--image-file data/goose.jpg \
--target-file heatmap.pdf \
--model vgg16 \
--weights-file data/vgg16.npy \
--classes-file data/vgg16/classes.json \
--alpha 2
  • generated heatmaps are saved in results folder

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published