今天安装Caffe框架,make时一切正常,但import caffe时出现以下错误
>>> import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jcole/Git/caffe/python/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
File "/home/jcole/Git/caffe/python/caffe/pycaffe.py", line 13, in <module>
from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: /home/jcole/Git/caffe/python/caffe/_caffe.so: undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
Google该错误,发现原因是boost_python的版本不匹配,默认python版本为3.5,而boost_python为2.7。
解决方法:
先在系统的/usr/lib/x86_64-linux-gnu/路径下查找boost_python文件的版本是否与python版本匹配,我的电脑中文件名为:
libboost_python-py35.so.1.58.0
说明版本为python3.5,匹配。若不匹配则安装对应的boost_python版本。
接下来打开Caffe文件夹下的Makefile文件,将第208行的
PYTHON_LIBRA

在Ubuntu 16.04上安装Caffe时遇到导入错误,原因是boost_python版本与Python 3.5不兼容。通过检查系统中的boost_python库并修改Caffe Makefile中相应的Python版本号,然后重新编译,成功解决了问题。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



