小编推荐两种方法绘制深度学习的网络结构图。
方法一 通过Netscope
具体网址为http://ethereon.github.io/netscope/#/editor
PS:在Linux系统可以正常打开,在Windows系统可能需要翻墙。。
打开后界面如图
# Enter your network definition here. 在这里输入你的网络定义,也就是你的Prototxt的代码
# Use Shift+Enter to update the visualization. 使用Shift+Enter 进行更新可视化
下面举个例子:
使用caffe自带的mnist手写体识别的LeNet 网络结构绘制,部分截图如下:
方法二 调用caffe中的draw_net.py文件进行绘制结构图
python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。
在绘制之前,需要先安装两个库,以下代码都是在caffe根目录下执行
1、安装GraphViz
sudo apt-get install GraphViz
注意,这里用的是apt-get来安装,而不是pip.
2 、安装pydot
sudo pip install pydot
用的是pip来安装,而不是apt-get
安装好了,就可以调用脚本来绘制图片了
draw_net.py执行的时候带三个参数
第一个参数:网络模型的prototxt文件
第二个参数:保存的图片路径及名字
第二个参数:--rankdir=x , x 有四种选项,分别是LR, RL, TB, BT 。用来表示网络的方向,分别是从左到右,从右到左,从上到小,从下到上。默认为LR。
例:绘制cifar10的模型
sudo python python/draw_net.py examples/cifar10/cifar10_full_train_test.prototxt netImage/cifar10.png --rankdir=BT
就会在caffe根目录的netImage文件夹中产生cifar.png.