Interactive convnet features visualization for Keras
JavaScript Python CSS HTML
Latest commit d186b47 Nov 22, 2016 @jakebian committed on GitHub Merge pull request #27 from kretes/custom_classes
ability to pass custom class list and value of top n displayed

README.md

Quiver

Gitter chat

Interactive convnet features visualization for Keras

gzqll3

The quiver workflow

Video Demo

  1. Build your model in keras

    model = Model(...)
  2. Launch the visualization dashboard with 1 line of code

    quiver_engine.server.launch(model, classes=['cat','dog'], input_folder='./imgs')
  3. Explore layer activations on all the different images in your input folder.

Quickstart

Installation

    pip install quiver_engine

If you want the latest version from the repo

    pip install git+git://github.com/jakebian/quiver.git

Usage

Take your keras model, launching Quiver is a one-liner.

    from quiver_engine import server
    server.launch(model)

This will launch the visualization at localhost:5000

Options

    server.launch(
        model, # a Keras Model

        classes, # list of output classes from the model to present (if not specified 1000 ImageNet classes will be used)

        top, # number of top predictions to show in the gui (default 5)

        # where to store temporary files generatedby quiver (e.g. image files of layers)
        temp_folder='./tmp',

        # a folder where input images are stored
        input_folder='./',

        # the localhost port the dashboard is to be served on
        port=5000
    )

Development

Building from master

Check out this repository and run

cd quiver_engine
python setup.py develop

Building the Client

    cd quiverboard
    npm install
    export QUIVER_URL=localhost:5000 # or whatever you set your port to be
    npm start

Note this will run your web application with webpack and hot reloading. If you don't care about that, or are only in this section because pip install somehow failed for you, you should tell it to simply build the javascript files instead

    npm run deploy:prod

Credits

  • This is essentially an implementation of some ideas of deepvis and related works.
  • A lot of the pre/pos/de processing code was taken from here and other writings of fchollet.
  • The dashboard makes use of react-redux-starter-kit

Citing Quiver

misc{bianquiver,
  title={Quiver},
  author={Bian, Jake},
  year={2016},
  publisher={GitHub},
  howpublished={\url{https://github.com/jakebian/quiver}},
}