A CNN model visualizer
See the Medium post for an introduction to Picasso.
- Free software: Eclipse Public License
- Documentation: https://picasso.readthedocs.io.
If you use Picasso in your research, please cite our paper:
Henderson, R. & Rothe, R., (2017). Picasso: A Modular Framework for Visualizing the Learning Process of Neural Network Image Classifiers. Journal of Open Research Software. 5(1), p.22.
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 [email protected]: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.json
file looks like:{ "backend": "tensorflow", "image_dim_ordering": "tf", "floatx": "float32", "epsilon": 1e-07 }
Start the Flask server
export FLASK_APP=picasso flask run
Point your browser to
127.0.0.1:5000
and you should see the landing page! When you're done,Ctrl+C
in the terminal to kill your Flask server.
The documentation is much more extensive than this README, and includes instructions on getting the Keras VGG16 and Tensorflow NMIST models working, as well as guides on building your own visualizations and using custom models. This assumes you've cloned the repository. First 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.
- 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.
- Elias and Filippo for early code contributions and finding bugs and issues.
- John, Josh, Rasmus, and Stefan for their careful code review and feedback.
- The favicon is a modification of this photograph of the painting "Les Demoiselles d'Avignon", 1907 by Pablo Picasso. Photograph by Max Braun.
- This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.