akizya / picasso

:art: A CNN visualizer

Home Page:https://medium.com/merantix/picasso-a-free-open-source-visualizer-for-cnns-d8ed3a35cfc5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Picasso

Documentation Status

A CNN model visualizer

See the Medium post for an introduction to Picasso.

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.

Quickstart

Picasso uses Python 3.5+ so use a virtual environment if necessary (e.g. virtualenv env --python=python3) and activate it!

  1. 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.json file looks like:

    {
        "backend": "tensorflow",
        "image_dim_ordering": "tf",
        "floatx": "float32",
        "epsilon": 1e-07
    }
    
  2. 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.

Building the docs

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.

Notes

  1. 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

About

:art: A CNN visualizer

https://medium.com/merantix/picasso-a-free-open-source-visualizer-for-cnns-d8ed3a35cfc5

License:Eclipse Public License 1.0


Languages

Language:Python 78.6%Language:HTML 13.2%Language:JavaScript 5.8%Language:Makefile 2.3%Language:CSS 0.1%