caffe环境配置问题集合(ubuntu16.04+4*TITAN V)

11 篇文章 0 订阅
3 篇文章 0 订阅

目前网络上配置caffe环境的教程很多,部分教程确实写的不错,比如https://blog.csdn.net/yhaolpz/article/details/71375762。但我在caffe安装过程中依然遇到不少问题,记录于此,于人方便于己方便。我的软硬件环境是UBUNTU16.04 + 2 Xeon E5-2630v4 + 4 TITAN V。
1.在安装caffe时执行命令 sudo make runtest -j20,出现了如下错误Check failed: status == CURAND_STATUS_SUCCESS (201 vs. 0) CURAND_STATUS_LAUNCH_FAILURE*** Check failure stack trace:
错误信息内容
解决方法:输入命令sudo apt autoremove,删掉之前安装的多余组件。
删除多余组件
原因分析:这个问题是多个不同版本的NVIDIA组件混合导致的,重新部署软件环境时我安装过不同的CUDA版本,也使用过sudo apt-get install nvidia-cuda-toolkit。随后我在某一项安装相关操作(具体忘了)中发现系统提示,可以删除无关内容,然后想到网上曾有句简短回答,大意是不同版本数据混合导致问题。除此外我未看到有能解决问题的回答。

2.安装caffe时,输入命令sudo make caffe -j20时出现错误:

from src/caffe/util/cudnn.cpp:2:
/usr/local/cuda/include/cudnn.h:63:26: fatal error: driver_types.h: 没有那个文件或目录
		 #include "driver_types.h"

解决方法:进入/usr/include/cudnn.h文件下,将#include ”driver_types.h”改成#include<driver_types.h>再运行就可以了。

3.caffe安装完成后在python交互式命令行中输入import caffe后报错如下:

from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \ ImportError: 	No module named _caffe

解决方法:编译一下caffe的python接口即可——sudo make pycaffe

4.CUDNN的版本查看方法:
不同硬件环境的cudnn.h目录可能不同,需要先搜索文件具体位置。输入命令sudo find / -name *cudnn.h*获得文件的具体路径后,cd至文件所在目录。使用命令cat cudnn | grep CUDNN_MAJOR -A 2如下图所示。
CUDNN版本显示
如图所示,此时CUDNN的版本是7.0.1。

5.caffe的prototxt文件运行时python_layer出现错误,错误信息: ImportError: No module named xxx(xxx是prototxt中python层"python_param”参数中的module参数值):
在pycaffe安装完毕(即在python终端环境中import caffe正常)前提下,发现两个可能问题:
1).python文件位置摆放错误——prototxt文件中的python_param参数中module参数值仅能是不带参数的python文件名,因此需要将python文件放至caffe的PYTHONPATH环境变量目录下(路径可通过用户目录下的.bashrc文件查看)PS:python文件位置表示方法与其他文件不同,以solver.prototxt文件为例其中,描述神经网络时要带上的是相对caffe根目录的路径。
2).在程序运行过程中需要超级用户权限,而使用sudo后用户的环境变量无法继承(使用sudo python后运行import caffe出现错误)。需要修改部分系统文件,修改方法见我的另一篇博文——sudo保持环境变量方法(sudo python),链接:https://blog.csdn.net/u012614287/article/details/84580302。 修改完成后在终端中使用import caffe命令,如正常则设置正确。
排除以上两个问题后,可在caffe根目录下使用命令 ./build/tools/caffe train -solver "你的solver路径" -其他参数来正常运行python_layer。

6.在sudo python命令能正常运行后,报protoc版本不兼容错误:

Creating layer Data
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.4.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1.  Please update your library.  If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.  (Version verification failed in "google/protobuf/descriptor.pb.cc".)

主要错误信息是this program requires version x.x.x of the protocol buffer runtime library,不要按提示升级Protoc组件,将python的protobuf组件卸载后安装和该组件版本相同的组件即可(具体命令pip install protobuf==x.x.x)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值