我正在尝试在我的Ubuntu 16.04上构建并运行py-faster-rcnn模型。
但是,当我运行./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之前,我在Caffe
文件夹中安装了~/code/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
然后我克隆了~/WEB/DeepLearning
文件夹中的py-faster-rcnn存储库。
之后我跟随了回购中的installation instructions:
cd $FRCN_ROOT/lib && make
cd $FRCN_ROOT/caffe-fast-rcnn
make -j8 && make pycaffe
(我没有这样做)cd $FRCN_ROOT && ./data/scripts/fetch_faster_rcnn_models.sh
cd $FRCN_ROOT && ./tools/demo.py
因此,安装指南中的第4步说我必须在caffe
文件夹中构建pycaffe
和$FRCN_ROOT/caffe-fast-rcnn
。 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
文件夹中?
通过运行distribute
,我在~/code/caffe/distribute
生成的sudo make distribute
文件夹怎么样?它有用吗?如果是这样,我应该如何使用它?官方文件不是很清楚。
关于如何将已经构建的Caffe框架与其他项目(如Faster-RCNN)一起使用的简单,清晰和详细的解释将非常有用。
答案 0 :(得分:1)
我挣扎了一段时间,然后按照下面的方式工作。
首先,检查PYTHONPATH
env变量。它应该有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 / python <的路径来更新你的PYTHONPATH
env变量/ strong>文件夹,如
export PYTHONPATH = /home/mypc/caffe-master/python:$PYTHONPATH
注意: - 您不需要重建caffe,而是正确配置PYTHONPATH env变量中的caffe和python。