python-2.7 - 如何在运行 py-faster-rcnn 时使用已经构建的 Caffe?

标签 python-2.7 path deep-learning caffe pycaffe

我正在尝试构建并运行 py-faster-rcnn我的 Ubuntu 16.04 上的模型。

但是,当我运行 ./tools/demo.py(如 installation guide 中所述)时,出现以下错误:

➜  py-faster-rcnn git:(master) ✗ ./tools/demo.py
Traceback (most recent call last):
  File "./tools/demo.py", line 18, in <module>
    from fast_rcnn.test import im_detect
  File "/home/denis/WEB/DeepLearning/py-faster-rcnn/tools/../lib/fast_rcnn/test.py", line 16, in <module>
    import caffe
  File "/home/denis/WEB/DeepLearning/py-faster-rcnn/tools/../caffe-fast-rcnn/python/caffe/__init__.py", line 1, in <module>
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
  File "/home/denis/WEB/DeepLearning/py-faster-rcnn/tools/../caffe-fast-rcnn/python/caffe/pycaffe.py", line 13, in <module>
    from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: No module named _caffe

在尝试安装 py-faster-rcnn 之前,我已经在我的 ~/code/caffe 文件夹中安装了 Caffe,它似乎工作正常:

➜  ~ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>> print caffe.__version__
1.0.0-rc3

所以,如果我能在python环境下导入caffe模块,我就认为我安装成功了。

这是我使用过的命令(来自官方指南):

sudo make all
sudo make test
sudo make runtest
sudo make pycaffe
sudo make distribute

然后我克隆了 py-faster-rcnn我的 ~/WEB/DeepLearning 文件夹中的存储库。

之后我关注了 installation instructions来自 repo :

  1. 克隆代码库
  2. cd $FRCN_ROOT/lib && make
  3. cd $FRCN_ROOT/caffe-fast-rcnn
  4. make -j8 && make pycaffe(我没有运行这个)
  5. cd $FRCN_ROOT && ./data/scripts/fetch_faster_rcnn_models.sh
  6. cd $FRCN_ROOT && ./tools/demo.py

因此,安装指南中的第 4 步说我必须在 $FRCN_ROOT/caffe-fast-rcnn 文件夹中构建 caffepycaffe . caffe-fast-rcnn 文件夹的内容似乎与我从中构建 Caffe 的原始 caffe 存储库相同。

那么,看来我不需要再构建caffe了,对吧?在尝试运行演示时,我跳过了构建 caffe 的步骤并得到了上述错误。

在谷歌搜索了一段时间后,我发现我的问题与路径环境变量有关,所以下面是我在 .bashrc 中的路径变量:

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:~/code/caffe/distribute/lib:$LD_LIBRARY_PATH

export CPLUS_INCLUDE_PATH=/usr/include/python2.7

export PYTHONPATH=~/code/caffe/python:$PYTHONPATH

我是不是做错了什么,我必须以某种方式更改我的路径变量? 或者我真的需要再次构建 caffe,但是在 caffe-fast-rcnn 文件夹中?

我通过运行 sudo make distribute~/code/caffe/distribute 中生成的这个 distribute 文件夹怎么样?有用吗?如果是这样,我应该如何使用它?官方文档对此不是很清楚。


关于如何将已构建的 Caffe 框架与 Faster-RCNN 等其他项目一起使用的简单、清晰和详细的解释将非常有帮助。

最佳答案

我为此苦苦挣扎了一段时间,然后让它按如下方式工作。

首先,检查 PYTHONPATH 环境变量。它应该有 python 路径,例如。基于你的 python 版本和安装

PYTHONPATH = /usr/lib/python2.7

如果它为空,您可以使用在您的 python shell 中捕获的 python 路径来设置它。要检查 python 路径信息,请打开 python shell 并在下面键入

>>import sys
>>for p in sys.path
...  print(p)

它将列出所有 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
...

如果您已经安装了 caffe 并希望将其配置为由 python 使用,则只需通过将路径添加到 /caffe-installation-path 来更新您的 PYTHONPATH 环境变量/python 文件夹,比如

export PYTHONPATH = /home/mypc/caffe-master/python:$PYTHONPATH

注意:-您不需要重新构建caffe,而是在PYTHONPATH 环境变量中正确配置caffe 和python。

关于python-2.7 - 如何在运行 py-faster-rcnn 时使用已经构建的 Caffe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41109376/

相关文章:

php - 使用 php 从字符串中查找文件名

neural-network - 图表可视化未显示在 seq2seq 模型的张量板上

deep-learning - TensorFlow中矩阵乘法函数的使用

tensorflow - 如何在 Tensorflow 中使用连体神经网络实现度量学习

python - 当我们点击PyQt中的QToolButton时如何打开另一个表单?

python-2.7 - 当我尝试在 powershell 上运行 ipython 时,出现错误 "Failed to create process"

python - MD5 Python 暴力破解错误

python - 查找两个多维列表之间的差异

mongodb - 如何在Go中从多个不同的文件位置执行脚本

python - 从给定的路径列表中获取文件夹的结构作为字符串