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.6-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 note 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.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e3ff705660b1d4cfa266066ce4cf159a3679bac5e21572733dcd7560ea4235a |
|
MD5 | 652c8a91048dc01c1ee02daf3e54bb8f |
|
BLAKE2b-256 | 82b3692323c96f54c379ce0f2d2dec5ec3d1abbad076b962dd5f3974fb5d4858 |