Skip to main content

Neural network visualization toolkit for tf.keras

Project description

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 the mixed-precision model. *

And in Activation maximization,

  • Support Optimizers that are built to tf.keras.

Visualizations

Visualizing Dense Layer

Visualizing Convolutional Filer

GradCAM

The images above are generated by GradCAM++.

Saliency Map

The images above are generated by SmoothGrad.

Requirements

  • Python 3.6-3.9
  • tensorflow>=2.0.2

Installation

  • PyPI
$ pip install tf-keras-vis tensorflow
  • Docker (container that run Jupyter Notebook)
$ cd tf-keras-vis
$ docker build -t <TAG> -f dockerfiles/gpu.Dockerfile .
$ docker run --gpus all --privileged -itd -p 8888:8888 <TAG>

Or

$ docker run --gpus all --privileged -itd -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.

Use Cases

  • chitra
    • A Deep Learning Computer Vision library for easy data loading, model building and model interpretation with GradCAM/GradCAM++.

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.
  • With a mixed-precision model that has a layer which are set float32 dtype exlicitly, ActivationMaximization may raise a error.
  • With a mixed-precision model, Regurarization values that is calculated by ActivationMaximization may be NaN.

ToDo

  • Guides
    • Visualizing multiple attention or activation images at once utilizing batch-system of model
    • Define various score functions
    • Visualizing attentions with multiple inputs models
    • Visualizing attentions with multiple outputs models
    • Advanced score functions
    • Tuning Activation Maximization
    • Visualizing attentions for N-dim image inputs
  • API documentations
  • We're going to add some methods such as below.
    • Deep Dream
    • Style transfer

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tf-keras-vis-0.6.2.tar.gz (20.4 kB view hashes)

Uploaded Source

Built Distribution

tf_keras_vis-0.6.2-py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page