caffe的python接口中的draw_net.py使用时,错误提示及解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sunshine_in_Moon/article/details/49634591

    昨天在实验caffe官网教程中的siamese网络时,按照教程开始很顺利(提示这是本人在ubuntu14.04下,windows下有点麻烦),但是到最后两步画出网络结构与模型参数时遇到不少困难,搞了大半天,网络结构终于可以画了,但是特征还有待解决,后续。

    事后总结,我之所以遇到这么多问题,主要是由于我使用了Anaconda,如果你没有使用可能会简单很多,可以参考我给的几个网址,相信就可以解决!

    废话少说,先说第一个提示错误:No module named google.prototxt

1、可以使用命令:sudo apt-get install python-protobuf

2、可以先下载安装包,自行编译和安装。可参考:http://blog.csdn.net/paynetiger/article/details/8197326

建议使用第一种方法,下面是关键:由于我使用了Anaconda,而以上两种方法无论哪一种都会将prototxt相关文件安装到/usr/local/lib/python2.7/dist-packages,我们需要将相关文件复制到Anaconda/lib/python2.7/site-packages下,才能正常使用

     安装好protobuf后,运行命令,提示没有模块pydot:

1、使用:pip install pydot 安装pydot

2、同上面2一样,需要将相关文件从/usr/local/lib/python2.7/dist-packages复制到Anaconda/lib/python2.7/site-packages下

    安装好pydot运行命令有提示:'GraphViz\'s executables not found'这个错误

1、使用命令sudo apt-get instll graphviz,安装graphviz

2、我还使用了pip install graphviz,并将相关文件从/usr/local/lib/python2.7/dist-packages复制到Anaconda/lib/python2.7/site-packages下

下面时我参考的几个网址,希望对你有帮助:

http://cache.baiducontent.com/c?m=9d78d513d9810af905ab837f7d01d7110e55f03860938d442c92c815cf735a31102cb2ec65644b598fd27d1716ae3a4bea81633264417af3c0809f4aacfa85285edf6d63215bc012428d4eeedc46549d7dd64de9de4dbafdac6487e9928dd00e158c11127bf3ed961b46479b36ad5066a3f2c715504810cdbc6d3ae21a307ede651beb1bb8fd326b0385f2d75a48de689b374cd1b835c6654ef14ef54c5d7f19fc1bfb59066476bb127be8444b51d2b81fbd6e220862a148c5ee8be1ba0fca8fba6fcfbbdcaf59c93da0d2ea8f251f370eac&p=87759a46d6c815b10ab9c7710f4d82&newp=8b2a970ace921ced05bd9b7d0d1dcc231610db2151d1db5a6785ce0ace&user=baidu&fm=sc&query=pydot.InvocationException%3A+GraphViz%27s+executables+not+found&qid=af18269100047cd4&p1=2

http://it.010lm.com/os/LINUX/205269.html

比较不错的一个:http://www.th7.cn/system/lin/201506/106723.shtml

最后展示一下我成功的网络图:

最后一步,还在探索中,后续!

补充:2016.4.4

在windows下执行了上面的步骤后遇到了:

Couldn't import dot_parser, loading of dot files will not be possible.
的错误,在网上收集了一些方法,但是自己还是没有成功,望有成功的告知方法。
方法-:http://blog.csdn.net/Eddy_zheng/article/details/46992865
这是dot-parser所依赖的模块pyparsing从1.X升级到2.X的变化所导致的,所以呢,安回旧的版本就可以了。
pip install -U pydot pyparsing==1.5.7 
Windows 下cmd命令下执行这个命令后。
方法二:http://codego.net/9164707/
<span style="font-size:14px;">pip uninstall pyparsing
pip install -Iv https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz#md5=9be0fcdcc595199c646ab317c1d9a709
pip install pydot</span>

补充于2016.5.6
Windows下的终于弄好了,在这里提示一下,上面的错误提示依然有,但是不影响结果。这让我很郁闷。
由于做了很多工作,我也不知道哪一步发挥了作用,我就只能按顺序一一列出,
温馨提示:可直接尝试第4步,如果不行再从第一步开始,祝各位好运啦!
第一步,卸载pyparsing,pydot
<span style="font-size:18px;">pip uninstall pyparsing 
pip uninstall pydot</span>

第二步,安装pyparsing  1.5.7老版本

上面提到的两种方法之所以安装pyparsing没有成功,因为老板好像已经被官方放弃了,我看到pip最新版本都是2.0.3了,所以我们只能自己下载手动安装了,大家可以从我的百度网盘中下载:链接:http://pan.baidu.com/s/1o8tN5d4 密码:9qas。下载解压后,用命令:

<span style="font-size:18px;">python setup.py install</span>
第三步,安装pydot 

<span style="font-size:18px;">pip install pydot</span>
第四步,尝试运行一次,说到这里我就很郁闷,原来我之前一直把命令输入错了,

先说我的错误用法

<span style="font-size:18px;">draw_net.py --rankdir=LR 网络配置文件路径 图片保存路径</span></span>

看到这我想大家看出问题了吧,我忘了在前面加python了,哎对自己无语了。

python draw_net.py --rankdir=LR 网络配置文件路径 图片保存路径


以为可以了,又报错了,错误信息如下:


看来错误在pydot.py文件中,好去看看。

第五步,去看之前先安装graphviz,

给大家我的百度网盘链接:链接:http://pan.baidu.com/s/1geIigjp 密码:q007 双击安装就可以了。

第六步,修改pydot.py  大家可以画完图后再自己修改回来


先看1,从registry(注册表)中获得GraphViz 安装路径,2中是我已经注释掉的一部分,3是从我们获得路径上加上bin文件夹,这一点我们可以从5中看出。我们之所以报错,是因为我们没有找到1中路径,所以只能自己添加了,4就是我们自己的路径,把它修改成你的路径就可以了。

提示:修改时最好用pythonIDE去修改,如果使用文本编辑器修改会出现缩进错误。






展开阅读全文

没有更多推荐了,返回首页