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

使用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, sys
old_path = os.getcwd()
caffe_root = "caffe-master"
os.chdir(caffe_root + "/python")
import caffe
os.chdir(old_path)

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

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

cd caffe-master
mkdir build
cd build
cmake ..

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

import os
caffe_root = "caffe-master"
os.path.append(caffe_root + "/python")
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值