Interactive convnet features visualization for Keras
The quiver workflow
-
Build your model in keras
model = Model(...)
-
Launch the visualization dashboard with 1 line of code
quiver_engine.server.launch(model, classes=['cat','dog'], input_folder='./imgs')
-
Explore layer activations on all the different images in your input folder.
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
)
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
- 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
misc{bianquiver,
title={Quiver},
author={Bian, Jake},
year={2016},
publisher={GitHub},
howpublished={\url{https://github.com/jakebian/quiver}},
}