python caffe libcaffe.so.1.0.0-rc3: cannot open shared object file

来源:互联网 发布:网络直播游戏 编辑:程序博客网 时间:2024/06/05 14:55

使用caffe的python接口时,很多人都会遇到如下问题:

from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \ImportError: libcaffe.so.1.0.0-rc3: cannot open shared object file: No such file or directory

这个错误目前非常普遍,在Google上也可以搜索到非常多的讨论,大多数人提出的解决方法是把caffe-master/python和caffe-master/build/lib目录添加到~/.bashrc中,但是问题在于需要修改bashrc,可能会带来很多意想不到的问题.

造成这个问题的主要原因在于使用make进行编译,导致import caffe时找不到静态链接库.

现给出两种比较安全的解决方案:
(1) 在python 代码中加入如下代码:

import os, sysold_path = os.getcwd()caffe_root = "caffe-master"os.chdir(caffe_root + "/python")import caffeos.chdir(old_path)

这部分代码就是先切换到caffe的python目录,然后导入caffe库,然后在切换回原来目录.

(2) 其实找不到libcaffe.so.1.0.0-rc3主要原因在于使用了make进行编译,使得caffe的python接口只能在这个目录下面才能找得到这个库.解决办法是使用cmake进行编译:

cd caffe-mastermkdir buildcd buildcmake ..

这样编译后如果要在python中使用caffe,只需要将caffe的python目录添加到sys.path之中即可:

import oscaffe_root = "caffe-master"os.path.append(caffe_root + "/python")
2 0