ubuntu的caffe配置

ubuntu16.04+caffe some tips:

1、caffe对python3.6不是很支持,会报一个非常厉害的错误,目前在网上没找到解决方案:Dynamic module does not define module export function(pyinit_caffe)。官网上都说不建议用高版本的python3.6之类的,看到网上有人说配python3.5、3.6什么的是一个adventure~~因此最终选择python2.7,用的anaconda,因为后期安装包的时候真的会舒服很多,用自带的2.7真的可能很糟心。。。

2、这些是cuda,cuDNN都弄好的情况下单独配置的caffe。

3、首先是ubuntu下装anaconda,这个地方一定要用清华的镜像源,速度快到爆炸:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

可以直接bash他的sh文件,权限不够就加sudo,按照提示一步步安装,但是有一个安装路径,最好是不要安装到/root下,要不然到时候访问起来会在图形界面访问起来会比较麻烦(不过应该可以通过更改权限来解决吧,对这个不是很懂,不做研究)。因此将它放在了/usr/local/下面。

4、网上下载得到caffe-master(就是放置caffe文件的,名字可能不一样)文件。。。可以参考:

(1)、https://blog.youkuaiyun.com/yhaolpz/article/details/71375762

(2)、https://blog.youkuaiyun.com/qq_31261509/article/details/78755968

在第二个链接中对于它的一个Makefile.config的配置USE_LMDB:=0才能在我的机器上生效。

主要是需要配置一下Makefile.config文件。

最后来编译caffe-master文件夹下的文件:

sudo make clean -j8

sudo make all -j8

sudo make test -j8

sudo make runtest -j8

#(-j8表示指定8个线程来工作)

最后sudo make runtest -j8如果输出PASS则表示编译成功。出现“libcudnn.so.7 cannot open shared object file:No such file or directory”,则可以参考上面的链接2。

5、比较糟心的是caffe的python2.7接口的配置:

先将caffe-master文件夹下的接口依赖项安装好:

sudo pip install -r /path/to/caffe-master/python/requirements.txt

在这个地方,它自动安装的时候,可能会没问题,也可能一路飘红,这样就找到对应的飘红的地方,查找错误的解决,一般是因为某个东西版本低了,或者是没安装,按照用pip install应该都可以解决。

对于可能出现这个错误:

error: python-dateutil 1.5 is installed but python-dateutil>=2.4.0 is required by set(['vobject'])

我们可以重装一下dateutil差不多可以解决:https://github.com/odoo/odoo/issues/11122

sudo apt-get remove --auto-remove python-dateutil

sudo apt-get purge --auto-remove python-dateutil

sudo apt-get install python-dateutil

6、最后可以在caffe-faster-rcnn目录下

make pycaffe

应该就是没问题的了。

不过在这里最好可以去配置一下环境变量:

sudo gedit ~/.bashrc

#在最后添加:
export PYTHONPATH:=/path/to/caffe/python:$PYTHONPATH
#保存退出后

source ~/.bashrc

嗯,就这样,差不多。

 

caffe配置的错误以及解决:

  • problem 1:

  • solution:
# 依赖项未安装好
sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

 

  • problem2:

 

  • question3

  • solution:
  • 这个错误是因为没有在编译的时候/usr/bin/ld下没找到我opencv编译得到的lopencv_imgcodecs文件,注意这个文件只有opencv3才会有。将对应的-lopencn_imgcodercs.so的文件(这个文件应该是在opencv的lib下)做成软连接放在/usr/lib下即可。

problem4:在sudo make test -j8时的错误

solution:

找到文件$caffe_root/src/caffe/test/test_smooth_L1_loss_layer.cpp

#删除下面语句
#include "caffe/version_layers.hpp"

problem5:(sudo make runtest -j8)

libcudnn.so.7 cannot open shared object file: No such file or directory

solution:

#其中的数字改成自己机器上对应的就可以了,后面的ldconfig是使更改生效,这个还是一个lib指向的问题
sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig

problem7: (在python demo.py测试faster rcnn网络的时候)

ImportError:no module named gpu_nms

solution:

在py-faster-rcnn的lib中make

problem8:(还是运行demo的时候)

syncedmem.hpp:18]Check failed:error == cudaSuccess(30 VS. 0) unknows error,

solution:

sudo python xxx.py

感谢:http://blog.youkuaiyun.com/qq_26569761/article/details/51737154

 

 

caffe与cudnn版本不匹配的问题解决:https://blog.youkuaiyun.com/jmt330/article/details/78568876,一般会出现在比较新的caffe项目上

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值