Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

README.md

Sequential model in Keras -> ASCII

by Piotr Migdał

A library for Keras for investigating architectures and parameters of sequential models.

(discontinuted) For more general approaches, see: Simple diagrams of convoluted neural networks

Both model.summary() and graph export were not enough - I wanted array dimensions, numbers of parameters and activation functions in one place. I use it for didactic purpose.

  • TODO
    • Add ASCII art for more layers.
    • Go beyond simple sequential models (e.g. to allow merge layers); any ideas how?
    • Consider PRing to the main Keras repo, see #3873.

See this library in the wild, for example:

Installation

From PyPI:

pip install keras_sequential_ascii

Or from this repo:

pip install git+git://github.com/stared/keras-sequential-ascii.git

Usage

from keras_sequential_ascii import keras2ascii
keras2ascii(model)

Examples

Proof of principle

           OPERATION           DATA DIMENSIONS   WEIGHTS(N)   WEIGHTS(%)

               Input   #####      3   32   32
  BatchNormalization    μ|σ  -------------------        64     0.1%
                       #####      3   32   32
       Convolution2D    \|/  -------------------       448     0.8%
                relu   #####     16   30   30
       Convolution2D    \|/  -------------------      2320     4.3%
                relu   #####     16   28   28
        MaxPooling2D   Y max -------------------         0     0.0%
                       #####     16   14   14
       Convolution2D    \|/  -------------------       272     0.5%
                tanh   #####     16   14   14
             Flatten   ||||| -------------------         0     0.0%
                       #####        3136
               Dense   XXXXX -------------------     50192    94.1%
                       #####          16
             Dropout    | || -------------------         0     0.0%
                       #####          16
               Dense   XXXXX -------------------        51     0.1%
             softmax   #####           3

VGG16

           OPERATION           DATA DIMENSIONS   WEIGHTS(N)   WEIGHTS(%)

              Input   #####      3  224  224
         InputLayer     |   -------------------         0     0.0%
                      #####      3  224  224
      Convolution2D    \|/  -------------------      1792     0.0%
               relu   #####     64  224  224
      Convolution2D    \|/  -------------------     36928     0.0%
               relu   #####     64  224  224
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####     64  112  112
      Convolution2D    \|/  -------------------     73856     0.1%
               relu   #####    128  112  112
      Convolution2D    \|/  -------------------    147584     0.1%
               relu   #####    128  112  112
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    128   56   56
      Convolution2D    \|/  -------------------    295168     0.2%
               relu   #####    256   56   56
      Convolution2D    \|/  -------------------    590080     0.4%
               relu   #####    256   56   56
      Convolution2D    \|/  -------------------    590080     0.4%
               relu   #####    256   56   56
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    256   28   28
      Convolution2D    \|/  -------------------   1180160     0.9%
               relu   #####    512   28   28
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   28   28
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   28   28
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    512   14   14
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   14   14
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   14   14
      Convolution2D    \|/  -------------------   2359808     1.7%
               relu   #####    512   14   14
       MaxPooling2D   Y max -------------------         0     0.0%
                      #####    512    7    7
            Flatten   ||||| -------------------         0     0.0%
                      #####       25088
              Dense   XXXXX ------------------- 102764544    74.3%
               relu   #####        4096
              Dense   XXXXX -------------------  16781312    12.1%
               relu   #####        4096
              Dense   XXXXX -------------------   4097000     3.0%
            softmax   #####        1000
You can’t perform that action at this time.