keras_diagram icon indicating copy to clipboard operation
keras_diagram copied to clipboard

Keras models as ASCII diagrams

Keras Diagram

Print ASCII diagrams of your Keras models to visualize the layers and their shapes.

      InputLayer (None, 50, 300)
         Reshape (None, 1, 50, 300)
   Convolution2D (None, 250, 48, 1)
            Relu (None, 250, 48, 1)
    MaxPooling2D (None, 250, 1, 1)
         Flatten (None, 250)
         Dropout (None, 250)
           Dense (None, 7)
         Softmax (None, 7)

A more complex model from babi_rnn.py:

                                   InputLayer (None, 5)
                                    Embedding (None, 5, 50)
  InputLayer (None, 552)              Dropout (None, 5, 50)
   Embedding (None, 552, 50)             LSTM (None, 50)
     Dropout (None, 552, 50)     RepeatVector (None, 552, 50)
             \______________________________/
                            |
                       Merge (None, 552, 50)
                        LSTM (None, 50)
                     Dropout (None, 50)
                       Dense (None, 36)

To install

pip install keras_diagram

Note for Conda installation (Python 3.5): pip install pypandoc

To use

from keras_diagram import ascii

model = Sequential()
model.add(...)

print(ascii(model))

Developing

 ./test.py       # run tests via docker
 ./publish.py    # build distributions and publish to pypi
 ./shell.py      # run bash above docker container with current folder mounted