Caffe没有在python中导入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Caffe没有在python中导入相关的知识,希望对你有一定的参考价值。
Ubuntu 18.04
Python 2.7
我的问题是我无法在python中导入caffe模块,即使我已经安装了它。我相信这是一个路径/环境变量问题。
rivaldo4t@Rivaldo-OS3:~$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named caffe
正如here所提到的那样,我运行命令sudo apt install caffe-cpu
来安装预编译的Caffe,它确实成功了。当我在终端输入caffe时,我会得到类似的东西
rivaldo4t@Rivaldo-OS3:~$ caffe
caffe: command line brew
usage: caffe <command> <args>
commands:
train train or finetune a model
test score a model
device_query show GPU diagnostic information
time benchmark model execution time
这意味着正确安装了caffe。正如提到的here,我试图将我的PYTHONPATH
变量设置为Caffe安装目录的位置。所以我这样做了,
rivaldo4t@Rivaldo-OS3:~$ which caffe
/usr/bin/caffe
当我试图运行echo $ PYTHONPATH时,它显示为空(我仍然不知道为什么)。然后我尝试使用更新路径
caffe_root = '/usr/bin/caffe/python'
import sys
sys.path.insert(0, caffe_root)
所以现在我在打印sys.path时得到这个 -
rivaldo4t@Rivaldo-OS3:~$ python -c 'import sys; print(sys.path)'
['', '/home/rivaldo4t', '/usr/bin/caffe/python', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/rivaldo4t/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
但是我仍然无法在python中导入caffe。我注意到的另一件事是/ usr / bin / caffe不是目录,如果不在这里,我无法理解caffe的安装位置。
任何帮助表示赞赏。谢谢
答案
当你使用sudo apt install caffe-cpu
在ubuntu上安装caffe时,它只编译python 3的绑定(_caffe.cpython-36m-x86_64-linux-gnu.so
),它位于/usr/lib/python3/dist-packages/caffe/
。所以简短的回答是使用python 3代替。
很长的答案是使用源代码中的python 2绑定编译caffe。
以上是关于Caffe没有在python中导入的主要内容,如果未能解决你的问题,请参考以下文章