Caffe 未在 python 中导入

Caffe not importing in 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

当我尝试 运行 回显 $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。