博主环境Ubuntu 14.04.4 LTS x64+caffe。
先看下成品。
上图是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结构图片已经出来了。内心很激动......
由于参考了太多文章在这里就不一一感谢,大家一起努力!