1. conda create -n python=2.7 anaconda
2. 安装caffe依赖,这里是安装到了 $HOME/.conda/envs/caffe/ 以后如果自己要编译protobuf也是要装在这个位置
conda install lmdb openblas glog gflags hdf5 protobuf leveldb boost opencv cmake -y
3. 或者不用运行2直接conda install caffe-gpu 会自动安装所有依赖, 安装的protobuf是3.6.1 如果要自己编译caffeprotobuf版本是2.5.0。 此时官方的caffe已经装好,如果要使用rgb大神的faster rcnn则要再重头编译一次。下面继续。
4.下载并解压好protobuf 2.5.0后(首先conda uninstall protobuf不然下面会冲突)
./autogen.sh
./configure --prefix=$HOME/.conda/envs/caffe/
make
make install
5.下载faster rcnn模型,注意这个cuda9不兼容,需要修改一些文件
cd caffe-fast-rcnn
git remote add caffe https://github.com/BVLC/caffe.git
git fetch caffe
git merge -X theirs caffe/master
remove self_.attr("phase") = static_cast<int>(this->phase_);
from include/caffe/layers/python_layer.hpp
after merging.
6. 在CMakelists.txt 开头添加
set(CMAKE_CXX_STANDARD 11)
编辑.bashrc 配置文件:
export CUDA_HOME=$HOME/cuda-9.0
xport CUDA_HOME=$CUDA_HOME # included for sake of completeness
export PATH=$CUDA_HOME/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$CUDA_HOME/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
7. source activate caffe
export ENV_PATH=$HOME/.conda/envs/caffe/
cmake -DBLAS=open -DCUDNN_INCLUDE=$CUDA_HOME/include/ -DCUDNN_LIBRARY=$CUDA_HOME/lib64/libcudnn.so -DCMAKE_PREFIX_PATH=$ENV_PATH -DCMAKE_INSTALL_PREFIX=$ENV_PATH ..
8. 编译并安装完之后如果import caffe 出错再conda install protobuf
但是以后如果再次编译caffe报protobuf相关的错误可以
(1) conda uninstall protobuf
conda uninstall libprotobuf
(2) 到步骤 4的目录下:再次运行make install
之后可以去caffe/lib/pkgconfig/protobuf.pc 看一下, 这个是FindProtobuf.cmake根据他查找protobuf 确定这个.pc文件里面的版本是2.5.0就好