A python library for visualizing Artificial Neural Networks (ANN)
Python
1,249
0 commits
updated Oct 16, 2020

A great visualization python library used to work with Keras. It uses python's graphviz library to create a presentable graph of the neural network you are building.
Version 2.0 of the ann_visualizer is now released! The community demanded a CNN visualizer, so we updated our module. You can check out an example of a CNN visualization below!
Happy visualizing!
ann_visualizer folder from the github repository.ann_visualizer folder in the same directory as your main python script.Use the following command:
pip3 install ann_visualizer
Make sure you have graphviz installed. Install it using:
sudo apt-get install graphviz && pip3 install graphviz
from ann_visualizer.visualize import ann_viz;
#Build your model here
ann_viz(model)
model - The Keras Sequential modelview - If True, it opens the graph preview after executedfilename - Where to save the graph. (.gv file format)title - A title for the graphimport keras;
from keras.models import Sequential;
from keras.layers import Dense;
network = Sequential();
#Hidden Layer#1
network.add(Dense(units=6,
activation='relu',
kernel_initializer='uniform',
input_dim=11));
#Hidden Layer#2
network.add(Dense(units=6,
activation='relu',
kernel_initializer='uniform'));
#Exit Layer
network.add(Dense(units=1,
activation='sigmoid',
kernel_initializer='uniform'));
from ann_visualizer.visualize import ann_viz;
ann_viz(network, title="");
This will output:

import keras;
from keras.models import Sequential;
from keras.layers import Dense;
from ann_visualizer.visualize import ann_viz
model = build_cnn_model()
ann_viz(model, title="")
def build_cnn_model():
model = keras.models.Sequential()
model.add(
Conv2D(
32, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(Dropout(0.2))
model.add(
Conv2D(
32, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.2))
model.add(
Conv2D(
64, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(Dropout(0.2))
model.add(
Conv2D(
64, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(512, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(10, activation="softmax"))
return model
This will output:

This library is still unstable. Please report all bug to the issues section. It is currently tested with python3.5 and python3.6, but it should run just fine on any python3.
40,663 followers · starred Apr 2018
207 followers · starred Apr 2018
490 followers · starred Apr 2018
77 followers · starred Apr 2018
A python library for visualizing Artificial Neural Networks (ANN)
Python
1,249
0 commits
updated Oct 16, 2020

A great visualization python library used to work with Keras. It uses python's graphviz library to create a presentable graph of the neural network you are building.
Version 2.0 of the ann_visualizer is now released! The community demanded a CNN visualizer, so we updated our module. You can check out an example of a CNN visualization below!
Happy visualizing!
ann_visualizer folder from the github repository.ann_visualizer folder in the same directory as your main python script.Use the following command:
pip3 install ann_visualizer
Make sure you have graphviz installed. Install it using:
sudo apt-get install graphviz && pip3 install graphviz
from ann_visualizer.visualize import ann_viz;
#Build your model here
ann_viz(model)
model - The Keras Sequential modelview - If True, it opens the graph preview after executedfilename - Where to save the graph. (.gv file format)title - A title for the graphimport keras;
from keras.models import Sequential;
from keras.layers import Dense;
network = Sequential();
#Hidden Layer#1
network.add(Dense(units=6,
activation='relu',
kernel_initializer='uniform',
input_dim=11));
#Hidden Layer#2
network.add(Dense(units=6,
activation='relu',
kernel_initializer='uniform'));
#Exit Layer
network.add(Dense(units=1,
activation='sigmoid',
kernel_initializer='uniform'));
from ann_visualizer.visualize import ann_viz;
ann_viz(network, title="");
This will output:

import keras;
from keras.models import Sequential;
from keras.layers import Dense;
from ann_visualizer.visualize import ann_viz
model = build_cnn_model()
ann_viz(model, title="")
def build_cnn_model():
model = keras.models.Sequential()
model.add(
Conv2D(
32, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(Dropout(0.2))
model.add(
Conv2D(
32, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.2))
model.add(
Conv2D(
64, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(Dropout(0.2))
model.add(
Conv2D(
64, (3, 3),
padding="same",
input_shape=(32, 32, 3),
activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(512, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(10, activation="softmax"))
return model
This will output:

This library is still unstable. Please report all bug to the issues section. It is currently tested with python3.5 and python3.6, but it should run just fine on any python3.
40,663 followers · starred Apr 2018
207 followers · starred Apr 2018
490 followers · starred Apr 2018
77 followers · starred Apr 2018