如何在运行PY-faster-rcnn时使用已经构建的Caffe



我正在尝试在Ubuntu 16.04上构建和运行PY-faster-RCNN模型。

但是,当我运行./tools/demo.py(如安装指南中所述)时,我会收到以下错误:

➜  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文件夹中。

之后,我遵循了回购中的安装说明:

  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文件夹中构建caffepycaffecaffe-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框架与其他项目这样的其他项目的简单,清晰且详细的解释真的很有帮助。

我为此而努力一段时间,然后将其工作如下。

首先,检查PYTHONPATH ENV变量。它应该具有python路径,例如。根据您的Python版本和安装

PYTHONPATH = /usr/lib/python2.7

如果它是空的,则可以用python壳中捕获的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/PYTHON/PYTHON 文件仪来更新PYTHONPATH ENC变量。对此,就像

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

注意: - 您不需要重建Caffe,而是正确地在Pythonpath Envible中配置Caffe和Python。

最新更新