caffe中使用draw_net.py绘制卷积神经网络结构图

博主环境Ubuntu 14.04.4 LTS x64+caffe。

先看下成品。

caffe中使用draw_net.py绘制卷积神经网络结构图_第1张图片

上图是caffe中的经典模型Lenet5网络结构,图片展示的很清晰。

绘图需要使用./cafferoot/python/draw_net.py脚本。

调用命令

/username/caffe/python# python draw_net.py --rankdir TB ../examples/mnist/lenet.prototxt ../examples/mnist/lenet_structure.jpg

draw_net.py后接三个参数,–rankdir选项确定输出图片的摆放位置,TB为从上到下,RL为从右向左,LR为从左向右,默认为LR。../examples/mnist/lenet.prototxt为网络文本, ../examples/mnist/lenet_structure.jpg为图片存放地址。

输入上述命令之后不出意外会报错:

ImportError: No module named google.prototxt

解决方法:

安装python-protobuf

sudo apt-get install Python-protobuf

装完之后再次运行命令,提示第二个错误:

ImportError: No module named _caffe

解决方法:

编译pycaffe并添加到环境中。

进入caffe所在目录,运行以下命令

sudo make pycaffe

编译完成之后运行以下命令添加系统环境变量

export PYTHONPATH=$PYTHONPATH:/cafferoot/python

进入python看看能否import caffe

提示第三个错误:

ImportError: No module named skimage.io

这个错误有点坑啊QAQ,参照别人方法用pip安装scikit-image结果GG,提示错误:IndexError: list index out of range后来证明无论用pip还是apt-get安装scikit-image都不行,最后参看Linux之家解决。

解决办法:

输入以下一堆命令去安装python的各种库=。=

sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

安装完成之后update一下,进入python去import caffe,成功!

接下来运行刚开始的那条命令......

接着报下一个错误:

ImportError: No module named pydot

解决办法:

用pip安装pydot,输入以下命令:

sudo pip install pydot

再次运行刚开始的那条命令

继续报错......

错误:

Exception: "dot" not found in path.

解决办法:

这个错误是由于缺少graphviz导致的,运行以下命令安装

sudo apt-get install graphviz

完成之后再再次运行第一条命令,哎?提示Drawing net to ../examples/mnist/lenet_structure.jpg,难道?成功了?打开目录,果然 lenet_structure.jpg结构图片已经出来了。内心很激动......

由于参考了太多文章在这里就不一一感谢,大家一起努力!

你可能感兴趣的:(——【Caffe】)