@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网络结构绘制出来是什么样子的: