visual-genome rcnn features 提取(一)- caffe配置篇

注:此文档适用于没有root权限的服务器上安装caffe,但是对于faster-rcnn需要root权限才能完成依赖安装

注:安装caffe的过程可能十分漫长,希望大家一定要平心静气,一步一步分析问题

首先,在目标路径下克隆库并操作Makefile,并安装nccl库(faster-rcnn依赖):

git clone https://github.com/BVLC/caffe.git
cd ~/caffe
cp Makefile.config.example Makefile.config

# 这里需要安装bottom-up的依赖库,必须要sudo权限
git clone https://github.com/NVIDIA/nccl.git && cd nccl && sudo make install -j4 && sudo ldconfig

在Makefile.config里面需要对以下地方进行更改:

  1. # cuDNN acceleration switch (uncomment to build with cuDNN).
    USE_CUDNN := 1 # 取消注释
    USE_OPENCV := 0 # 遗漏了这行会报错,不过可以解决。一般opencv版本都为3以上,需要取消注释下面这句话
    OPENCV_VERSION := 3
    
    WITH_PYTHON_LAYER := 1
    USE_NCCL := 1
  2. CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
    		-gencode arch=compute_35,code=sm_35 \
    		-gencode arch=compute_50,code=sm_50 \
    		-gencode arch=compute_52,code=sm_52 \
    		-gencode arch=compute_60,code=sm_60 \
    		-gencode arch=compute_61,code=sm_61 \
    		-gencode arch=compute_61,code=compute_61
    # 删掉了上面的这两行:-gencode arch=compute_20,code=sm_20 与 -gencode arch=compute_20,code=sm_21, 不删会报错
  3. # 使用anaconda作为python目录最方便,特别针对没有root权限的情况
    ANACONDA_HOME := $(HOME)/anaconda/envs/python2 # 这里可以指定自己的环境,非常方便
    PYTHON_INCLUDE := $(ANACONDA_HOME)/include \ # 可以自己手动检查一下是否存在这个目录
    		  $(ANACONDA_HOME)/include/python2.7 \ # 这个位置如果错了,在make pycaffe会报错找不到Python.h
    		  $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
    
    PYTHON_LIB := $(ANACONDA_HOME)/lib # 遗漏了这行也会报错

最后编译即可:

make all -j $(($(nproc) + 1)) # 使用server上的最大资源完成编译
# make runtest -j $(($(nproc) + 1))
make pycaffe -j $(($(nproc) + 1))

其中在import caffe时可能会报错,因为有些库可能没有安装,包括但并不仅限于以下:

# 以下为caffe需要用到的库
conda install scikit-image
conda install protobuf

# 以下为bottom-up需要用到的库
conda install Cython
conda install opencv
pip install easydict # 千万不能执行conda install easydict, 新版本存在莫名其妙的问题,会出bug(找了好久。。。)
pip install pyyaml==3.10 # 这条没太大影响, conda装也可以。不过建议装最旧的版本

安装完caffe后,遇到了以下错误:

  1. 某个.so找不到(跟opencv相关,这里问题截图找不到了,借用一下别人的)



    解决方法:首先去对应的anaconda下查找是否存在该so文件(一般情况下都存在,若不存在则装opencv即可),然后需要执行这句话,添加库:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xx/anaconda3/lib
  2. 在import时出错:ImportError: No module named _caffe,如下所示:

    visual-genome rcnn features 提取(一)- caffe配置篇_第1张图片

    解决方法:项目 python路径到环境变量即可
     
    export PYTHONPATH=/home/xx/anaconda/python:$PYTHONPATH

     

 

本文案参考自一下作者,并特别表示感谢:

  • https://blog.csdn.net/Geek_of_CSDN/article/details/81175446
  • http://caffe.berkeleyvision.org/installation.html#prerequisites

你可能感兴趣的:(visual-genome rcnn features 提取(一)- caffe配置篇)