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
File details
Details for the file tf-keras-vis-0.5.4.tar.gz
.
File metadata
- Download URL: tf-keras-vis-0.5.4.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce1850002ddefa291ce97ef08619155cf5aaef270febc5f6f1dcc3f4ed0b77c |
|
MD5 | bb5eacb03b149199633338b08868d42b |
|
BLAKE2b-256 | 3c1b04b416a4c3d84bb4a03e311283d041cdd2b53f70be2a3f2971179b83211d |
File details
Details for the file tf_keras_vis-0.5.4-py3-none-any.whl
.
File metadata
- Download URL: tf_keras_vis-0.5.4-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8178f1e3d5a1d0dbfe9a4885886ad828dc716eb97f256c58d88344e109cbc2d7 |
|
MD5 | e0d64f6b1943ab91b4e20998b544b87c |
|
BLAKE2b-256 | 91cd9ad30d15b2ea2f8e0e8dcce1e4739f760a1d2ac12c3df20859ccfebdbdc1 |