使用draw_net.py绘制caffe模型图

成功编译完pycaffe后,在caffe/python/文件夹下面有一个draw_net.py脚本,可以使用它来绘制caffe的网络模型图。如何操作?

在caffe/python/目录下打开bash,输入以下命令:

python draw_net.py ../examples/mnist/lenet.prototxt lenet.png

也就是运行draw_net.py文件,后面的两个参数分别是要绘制的caffe模型的路径,以及输出的模型图的文件名。

但是运行后可能会出现以下错误:

ys@ysubuntu:~/caffe/python$ python draw_net.py ../examples/mnist/lenet.prototxt lenet.png
Traceback (most recent call last):
 File "draw_net.py", line 9, in 
 import caffe.draw
 File "/home/ys/caffe/python/caffe/draw.py", line 22, in 
 import pydot
ImportError: No module named pydot

原来需要的一个python模块pydot没安装,于是使用以下命令安装pydot:

sudo -H pip install pydot    #这里使用pip安装文件必须要取得管理员权限,所以加上sudo -H

安装好pydot之后,再次运行:

python draw_net.py ../examples/mnist/lenet.prototxt lenet.png

可能又会出现这一个错误:

ys@ysubuntu:~/caffe/python$ python draw_net.py ../examples/mnist/lenet.prototxt lenet.png
Drawing net to lenet.png
Traceback (most recent call last):
 File "draw_net.py", line 62, in 
 main()
 File "draw_net.py", line 58, in main
 phase, args.display_lrm)
 File "/home/ys/caffe/python/caffe/draw.py", line 314, in draw_net_to_file
 fid.write(draw_net(caffe_net, rankdir, ext, phase, display_lrm))
 File "/home/ys/caffe/python/caffe/draw.py", line 290, in draw_net
 display_lrm=display_lrm).create(format=ext)
 File "/usr/local/lib/python2.7/dist-packages/pydot.py", line 1867, in create
 raise OSError(*args)
OSError: [Errno 2] "dot" not found in path.

在网上搜索OSError: [Errno 2] "dot" not found in path.的解决办法。参考这篇文章,说是需要使用apt安装一个名为graphviz的包,于是:

sudo apt install graphviz

安装好graphviz之后,再次运行:

python draw_net.py ../examples/mnist/lenet.prototxt lenet.png

大功告成!

ys@ysubuntu:~/caffe/python$ python draw_net.py ../examples/mnist/lenet_train_test.prototxt lenet_train_test.png
Drawing net to lenet_train_test.png
ys@ysubuntu:~/caffe/python$

看一下得到的模型图长什么样子:


lenet-train-test.png

另一个绘制caffe模型图的工具:
除了上面描述的draw_net.py脚本,另外还有一个十分方便的在线工具:Netscope。
看一下这个在线工具的简单介绍:

使用draw_net.py绘制caffe模型图_第1张图片

使用方法页面上有说明,十分简单,这里就不啰嗦了。

你可能感兴趣的:(使用draw_net.py绘制caffe模型图)