大数跨境
0
0

ANN Visualizer——用于可视化神经网络的 Python 库

ANN Visualizer——用于可视化神经网络的 Python 库 数据皮皮侠
2020-07-06
1
导读:ANN Visualizer 一个伟大的可视化python库,用于Keras。它使用pyth

ANN Visualizer    

     一个伟大的可视化python库,用于Keras。它使用python的graphviz库来创建您正在构建的神经网络的一个直观的图形。

Version 2.0 is Out!

           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!

Installation

From Github

  1. Download the ann_visualizer folder from the github repository.

  2. Place the ann_visualizer folder in the same directory as your main python script.

From pip

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

Usage

from ann_visualizer.visualize import ann_viz;
#Build your model here
ann_viz(model)

Documentation

ann_viz(model, view=True, filename="network.gv", title="MyNeural Network")

  • model - The Keras Sequential model

  • view - If True, it opens the graph preview after executed

  • filename - Where to save the graph. (.gv file format)

  • title - A title for the graph

Example ANN

import 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: 

Example CNN

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: 

Contributions

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.


微信公众号:数据皮皮侠
如果你觉得该公众号对你有帮助,欢迎关注、推广和宣传

【声明】内容源于网络
0
0
数据皮皮侠
社科数据综合服务中心,立志服务百千万社科学者
内容 2137
粉丝 0
数据皮皮侠 社科数据综合服务中心,立志服务百千万社科学者
总阅读615
粉丝0
内容2.1k