【caffe】使用draw_net绘制net结构

caffe的python编译模块提供了绘制net结构的功能,可实现对网络结构的绘制,这极大的方便了对网络结构的理解和分析,这里介绍下绘制的过程。


一、准备工作:

1、确保caffe的python模块已经编译和配置。

具体可参考【caffe】windows下caffe+vs2013+python2.7+cuda8.0+cmake3.8编译与配置

2、打开命令行cmd窗口,进入python安装目录下的Scripts目录(这个目录需要添加到环境变量里,否者pip安装命令无法使用)。

3、安装protobuf模块:pip install protobuf。

4、安装graphviz模块:pip install graphviz。

5、安装graphviz软件:下载graphviz-2.38.msi安装文件,安装,并将安装目录下的bin文件夹的路径添加到环境变量中。

6、安装pydot模块和pydotplus模块:pip install pydot和pydotplus。

(如果后面的执行依然报错,建议再安装pydot-ng模块)

做好以上准备后,就可以着手进行绘制了,其实这些都是坑,不断尝试,最后才跑通,希望后来者能少走点弯路。


二、使用draw_net.py绘制网络:

1、在自己的工作目录下新建一个文件夹,命名为draw_net,后面的绘制都将在这个目录下完成。

2、将caffe安装目录中的python文件夹下的draw_net.py文件拷到这个文件夹下。

3、将网络的模型的txt文件lenet_train_test.prototxt也拷到这个文件夹下。

4、新建一个文本文件,并重命名为draw_net.bat,输入如下内容:

@echo off 
draw_net.py lenet_train_test.prototxt lenet.png
pause

5、保存,双击执行,即可得到如下网络结构图。



6、上面得到的是一个横向排列的网络结构图,如果想得到竖向排列的网络结构图,可在draw_net.bat输入如下命令:

@echo off 
draw_net.py lenet_train_test.prototxt lenet.png  --rankdir=BT
pause


保存双击执行,得到如下网络结构图:

【caffe】使用draw_net绘制net结构_第1张图片

三、几种常见的网络结构图

1、alexnet
【caffe】使用draw_net绘制net结构_第2张图片

2、googlenet


3、reference_caffenet

【caffe】使用draw_net绘制net结构_第3张图片


4、ilsvrc13

【caffe】使用draw_net绘制net结构_第4张图片


5、finetune_flickr_style

【caffe】使用draw_net绘制net结构_第5张图片


6、mobilenet

【caffe】使用draw_net绘制net结构_第6张图片


参考:

[1] https://github.com/fchollet/keras/issues/3210;

[2] http://www.voidcn.com/blog/tracer9/article/p-4968674.html;

[3] http://www.itboth.com/d/6nUzmq/python-draw-net.


2017.08.03


你可能感兴趣的:(机器视觉,深度学习)