【caffe】绘制网络结构图

@tags caffe 网络结构 可视化

当拿到一份网络定义文件net.prototxt,可以用工具画出网络结构。最快速的方法是使用在线工具netscope,粘贴内容后shift+回车就可以看结果了。

caffe也自带了网络结构绘制工具,需要稍微配置下,并确保你用的caffe版本中实现了网络中涉及到的层。以下是在windows下尝试并配置的步骤。

<caffe_root>/python目录下,看起来draw_net.py脚本提供了绘制网络结构的功能。不过不能直接执行它,需要在用visual studio编译caffe项目的时候,配置python支持(推荐装anaconda2并且配置阿里云的pip源),然后:

1 环境变量

创建系统环境变量PythonPath,内容为:

<caffe_root>\Build\x64\Release\pycaffe

<caffe_root>换成你自己的目录,比如我的是d:\lib\caffe-master

2 pip包

用pip安装一些必要的包

pip install protobuf pydot

3 安装graphviz

http://www.graphviz.org/Download_windows.php 到这里下载。安装后把/bin目录追加到系统环境变量PATH上

4 绘图

重开一个cmd控制台,根据prototxt来绘制网络图片,

draw_net.py执行的时候带三个参数

第一个参数:网络模型的prototxt文件

第二个参数:保存的图片路径及名字

第二个参数:--rankdir=x , x 有四种选项,分别是LR, RL, TB, BT 。用来表示网络的方向,分别是从左到右,从右到左,从上到小,从下到上。默认为LR。

d:
cd d:\lib\caffe-master\Build\x64\Release\pycaffe
# python draw_net.py prototxt文件名 保存图片文件名 --rankdir=方向,比如:
python draw_net.py d:\lib\caffe-master\examples\mnist\lenet_train_test.prototxt d:\lib\caffe-master\examples\mnist\lenet_train_test.png --rankdir=LR

看看lenet_train_test.prototxt网络结构绘制出来是什么样子的:

【caffe】绘制网络结构图

上一篇:Socket 的网络编程


下一篇:UNIX环境高级编程——网络编程常用函数及结构