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 algorisms for visualization include:
- Activation Maximization
- Class Activation Maps
- Saliency Maps
tf-keras-vis is designed to be ease of use, light-weight and flexible. 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 batch-wise processing, so, be able to efficiently process multiple inputs.
- Support the model that have either multiple inputs or multiple outputs, or both.
- Support Optimizers embeded 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
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.4.0
If you have GPU processors,
$ docker run -itd --runtime=nvidia -p 8888:8888 keisen/tf-keras-vis:0.4.0-gpu
You can find other images at Docker Hub.
Usage
Please see below for details:
- examples/attentions.ipynb
- examples/visualize_dense_layer.ipynb
- examples/visualize_conv_filters.ipynb
[NOTE] If you have ever used keras-vis, perhaps you may feel that tf-keras-vis is similar with keras-vis. Yes, tf-keras-vis derived from keras-vis. And then it was designed to support features in the description of this README such as multiple inputs/outputs, batchwise processing and so on. Therefore, although both provided visualization algorisms are almost the same, those software architectures are different. Please notice that tf-keras-vis APIs doesn’t have compatibility with keras-vis.
ToDo
- API documentations
- We're going to add some algorisms such as below.
- ScoreCAM: Score-Weighted Visual Explanations for Convolutional Neural Networks
- Deep Dream
- Style transfer
Known Issues
- With InceptionV3, ActivationMaximization doesn't work well, that's, it might generate meanninglessly bulr image.
- With cascading model, Gradcam and Gradcam++ don't work well, that's, it might occur some error.
- Unsupport
channels-first
models and datas.
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.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5016f8a9e447abd5d27d8f4412ed5fe8e7210a4ee86fe9d83426e15990c8a4b |
|
MD5 | 173fa0317357072571641d333a87cf1a |
|
BLAKE2b-256 | 512e70a0ce0e0c21e2b6542336e551da5ae0d0a5a3e1b7b7cbcfcf03ab34cd92 |