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
3、reference_caffenet
4、ilsvrc13
5、finetune_flickr_style
6、mobilenet
参考:
[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