Neural network visualization toolkit for tf.keras
Project description
tf-keras-vis
tf-keras-vis is a visualization toolkit for debugging tf.keras
models in Tensorflow2.0+.
Currently supported methods for visualization include:
- Activation Maximization
- Class Activation Maps
- GradCAM
- GradCAM++
- ScoreCAM :new::zap:
- Faster-ScoreCAM :new::zap:
- Saliency Maps
tf-keras-vis is designed to be light-weight, flexible and ease of use. All visualizations have the features as follows:
- Support N-dim image inputs, that's, not only support pictures but also such as 3D images.
- Support batchwise processing, so, be able to efficiently process multiple input images.
- Support the model that have either multiple inputs or multiple outputs, or both.
- Support Optimizers embedded in tf.keras to process Activation maximization.
Visualizations
Visualize Dense Layer
Visualize Convolutional Filer
GradCAM
The images above are generated by GradCAM++
.
Saliency Map
The images above are generated by SmoothGrad
.
Requirements
- Python 3.5-3.8
- tensorflow>=2.0.2
Installation
- PyPI
$ pip install tf-keras-vis tensorflow
- Docker (container that run Jupyter Notebook)
$ docker run -itd -p 8888:8888 keisen/tf-keras-vis:0.5.0
If you have GPU processors,
$ docker run -itd --runtime=nvidia -p 8888:8888 keisen/tf-keras-vis:0.5.0-gpu
You can find other images at Docker Hub.
Usage
Please see below for details:
Getting Started Guides
[NOTE] If you have ever used keras-vis, you may feel that tf-keras-vis is similar with keras-vis. Actually tf-keras-vis derived from keras-vis, and both provided visualization methods are almost the same. But please notice that tf-keras-vis APIs does NOT have compatibility with keras-vis.
Guides (ToDo)
- Visualizing multiple attention or activation images at once utilizing batch-system of model
- Define various loss functions
- Visualizing attentions with multiple inputs models
- Visualizing attentions with multiple outputs models
- Advanced loss functions
- Tuning Activation Maximization
- Visualizing attentions for N-dim image inputs
ToDo
- Guide documentations
- API documentations
- We're going to add some methods such as below.
- Deep Dream
- Style transfer
Known Issues
- With InceptionV3, ActivationMaximization doesn't work well, that's, it might generate meaninglessly blur image.
- With cascading model, Gradcam and Gradcam++ don't work well, that's, it might occur some error. So we recommend, in this case, to use FasterScoreCAM.
channels-first
models and data is unsupported.
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
Hashes for tf_keras_vis-0.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de78b6ae39126f6c96d3b4246c15c1dc3cd32bcd52b45e2168cda93100ff11b9 |
|
MD5 | ca51fc07029a09182a34766afd952e26 |
|
BLAKE2b-256 | 75c818a8e10ab05598b2b5445c82588ee5e908558066ad7f680c8771678e7173 |