嗨,Caffe 用户,
我希望能够使用 pycaffe,所以我使用以下方法构建了 caffe:
make all
make test
make runtest
make pycaffe
一切运行顺利,有 2 个禁用测试。
但是,当我尝试在 python 控制台中导入 caffe 时发生错误:
17:35 $ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/syq/surveillance_video/tools/caffe/python/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver
File "/home/syq/surveillance_video/tools/caffe/python/caffe/pycaffe.py", line 13, in <module>
from ._caffe import Net, SGDSolver
ImportError: /home/syq/surveillance_video/tools/caffe/python/caffe/_caffe.so: undefined symbol: _ZN5caffe4mtx_E
我使用 Ubuntu 14.04 和 Python 2.7.6,CUDA 7.0
这是我的 PYTHONPATH 的样子:
17:35 $ echo $PYTHONPATH
/home/syq/surveillance_video/tools/caffe/python:/home/syq/surveillance_video/tools/caffe/distribute/python:
有没有人知道 _ZN5caffe4mtx_E 来自什么?
请提供任何帮助! 谢谢!
配置文件
取消注释以支持用 Python 编写的层(将链接到 Python 库)
WITH_PYTHON_LAYER := 1
谢谢xiw9!
取消注释该行:
WITH_PYTHON_LAYER := 1
解决了问题! 我不敢相信我错过了那个。
@xiw9我取消了注释,但我仍然遇到同样的错误!
@xiw9感谢您的回复! 我已经使用您的回答解决了这个问题。 这太神奇了!
它为python2.7正确编译
但是当我更改 makefile.config 为 python3 编译它时,我得到了同样的错误
我已经取消注释了,但我仍然遇到同样的错误
你是如何为 python3 修复它的? 我仍然有同样的错误...
它为python2.7正确编译
但是当我更改 makefile.config 为 python3 编译它时,我得到了同样的错误
我已经取消注释了,但我仍然遇到同样的错误
我是
@xiw9我取消了注释,但我仍然遇到同样的错误!
那么,你解决了吗?
要记住的一件事是,您可能必须针对 Makefile.config 中的位置和库调整 python3.x 版本。
最有用的评论
@xiw9我取消了注释,但我仍然遇到同样的错误!