Picasso¶
A CNN model visualizer
- Free software: Eclipse Public License
- Documentation: https://picasso.readthedocs.io.
Quickstart¶
Picasso uses Python 3.5+ so use a virtual environment if necessary (e.g. virtualenv env --python=python3) and activate it!
Install with pip or from source.
With pip:
pip install picasso-viz
From the repository:
git clone git@github.com:merantix/picasso.git cd picasso pip install -e .
Note: you’ll need the Tensorflow backend for Keras for these examples to work. Make sure your
~/.keras/keras.jsonfile looks like:{ "backend": "tensorflow", "image_dim_ordering": "tf", "floatx": "float32", "epsilon": 1e-07 }
Optional (untested!): install Tensorflow with GPU support
pip uninstall tensorflow pip install --upgrade tensorflow-gpu
Start the Flask server
export FLASK_APP=picasso flask run
Point your browser to
127.0.0.1:5000and you should see the landing page! When you’re done,Ctrl+Cin the terminal to kill your Flask server.By default, the visualizer starts a Keras MNIST example. We’ve also included a Keras VGG16 example. To use, it you’ll need to get the VGG16 graph and weights. We’ve included a small script to do this.
Setup VGG16:
python picasso/examples/keras-vgg16/prepare_model.py
NOTE: if you installed with
pip, you’ll need to find the location of this file in the site packages.pip show picasso_vizwill tell you the location. For instance, ifpip show picasso_vizshows you/home/ryan/test/env/lib/python3.5/site-packages, then the above command should be:python /home/ryan/test/env/lib/python3.5/site-packages/picasso/examples/keras-vgg16/prepare_model.py
If this script fails, you might be behind a proxy. You can download the necessary files manually.
mkdir ~/.keras/models # If directory doesn't exist wget --no-check-certificate -P ~/.keras/models/ https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels.h5 wget --no-check-certificate -P ~/.keras/models/ https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json
Run the script again, and you should be good to go!
Point to the correct configuration (making sure to use the correct path to your directory):
export PICASSO_SETTINGS=/absolute/path/to/repo/picasso/picasso/examples/keras-vgg16/config.py
Again, if you installed with
pip install picasso-viz, this will look something like:export PICASSO_SETTINGS=/home/ryan/test/env/lib/python3.5/site-packages/picasso/examples/keras-vgg16/config.py
You can check the
pip show picasso_vizcommand for the base directory.Start Flask
flask run. If it worked, the “Current checkpoint” label should have changed on the landing page.
Building the docs¶
Assuming you’ve cloned the repository, install the required packages:
pip install -e .[docs]
Then build them:
cd docs/ make html
Then you can open _build/html/index.html in your browser of choice.
Notes¶
- This should be considered alpha software. You will encounter bugs and issues. Don’t deploy this to a live server, probably…
- Models generated on Keras using the Theano backend should in principle be supported. The only difference is the array ordering of convolutions. I haven’t tried this yet though, so an extra config parameter may be needed.
Credits¶
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.