网络配置都是在prototxt文件中看起来不直观,如果能直接看到各层的连接图就了,Caffe提供了这样的工具。本文就是描述我用draw_net.py绘制网络结构图的踏坑过程。
1、安装graphviz
绘制图形,首先我们需要一个图形包。
1)下载安装包
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
2)安装程序
执行安装程序
完成后将路径下的 bin 添加到环境变量路径 path中
2、配置Python模块
1)设置CommonSettings.props
在caffe的配置CommonSettings.props中,打开python功能支持接口
设置Python的路径
2)拷贝caffe模块
编译caffe后,在[caffe_root]\Build\x64\Release 目录下会生成pycaffe目录。
打开目录将caffe拷贝到python包管理目录site-packages中
比如我的Python路径:
C:\Python27\Lib\site-packages
3)在Python中导入Caffe模块
打开python shell执行
import caffe
如果加载失败,如果提示缺少库,那么就用pip2.7进行安装。
比如:
“ImportError:No module named scipy”
那么命令行下,进入python目录,执行 pip2.7 install scipy 就会自动下载安装缺失的库
我执行过的操作:
- pip2.7 install numpy
- pip2.7 install scipy
- pip2.7 install matplotlib
- pip2.7 install protobuf
最后import caffe不再报错就表示配置成功了
3、绘制网络结构图
1)编写脚本
我们这儿还是用 mnis例子来测试,就叫:draw_mnist.bat
python E:/caffe/Build/x64/Release/pycaffe/draw_net.py E:/caffe/caffecase/mnist/lenet_train_test.prototxt E:/caffe/caffecase/mnist/lenetmap.png --rankdir=LRpause
参数说明:
第一个参数:网络定义文件
第二个参数:生成图片的保存名称和路径
第三个参数:表示网络绘制方向,有四种,LR 从左到右,RL 从右到左, TB 从上到下 ,BT 从下到上。
2)执行脚本
双击后运行脚本,结果提示少库。
ImportError:No module named pydot
提示缺少 pydot模块,同上面方式一样,用pip进行安装。
安装完成后,双击后运行又提示报错。
Exception: “dot.exe” not found in path.
从C:\Graphviz\bin 目录中,可以发现有这个我们需要的dot.exe,将这个bin目录添加到系统的环境变量中去即可。
注意:重启电脑,我之前就是添加了环境变量但是没重启,被纠结了我很久。
3)生成结构图
运行成功,就会生成指定的图片。