Visualizing filters by finding images that maximize their outputs
Latest commit 40afc3e Mar 26, 2016 @jacobgil Readme
Failed to load latest commit information.
examples Vizualization examples Mar 26, 2016 Readme Mar 26, 2016 Command line arg for starting from a non random image Mar 26, 2016 Clip weak pixels Mar 26, 2016 Change num_filters default value Mar 26, 2016

Keras CNN filter visualization utility

This is a utility for visualizing convolution filters in a Keras CNN model. Check this blog post.

By default this uses VGG16. Get the reduced model without the fully connected layers from here:

You can use the utility to project filters on a random image initial image, or on your own image to produce deep-dream like results.

This is quite compute intensive and can take a few minutes depending on image sizes and number of filters. An intermediate image is written to disk so you can see the progress done so far.

usage: [-h] [--iterations ITERATIONS] [--img IMG]
          [--weights_path WEIGHTS_PATH] [--layer LAYER]
          [--num_filters NUM_FILTERS] [--size SIZE]

optional arguments:
  -h, --help            show this help message and exit
  --iterations ITERATIONS
                        Number of gradient ascent iterations
  --img IMG             Path to image to project filter on, like in google
                        dream. If not specified, uses a random init
  --weights_path WEIGHTS_PATH
                        Path to network weights file
  --layer LAYER         Name of layer to use. Uses layer names in
  --num_filters NUM_FILTERS
                        Number of filters to vizualize, starting from filter
                        number 0.
  --size SIZE           Image width and height

256 filters from VGG16