All Projects → keisen → Tf Keras Vis

keisen / Tf Keras Vis

Licence: mit
Neural network visualization toolkit for tf.keras

Programming Languages

python
139335 projects - #7 most used programming language

tf-keras-vis

Downloads PyPI version Build Status License: MIT

tf-keras-vis is a visualization toolkit for debugging tf.keras models in Tensorflow2.0+. Currently supported methods for visualization include:

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].