配置faster rcnn 的第一步需要配置好caffe,一遍caffe的编译安装没问题后,fast rcnn 也可以成功。
第一步:源码安装caffe (只是测试是否成成功编译caffe,可直接调到第二步)
1 github上下载caffe-master
2 安装前的准备:为了避免不必要的各种包冲突,使用anaconda创建一个python2.7的虚拟环境。
3 使用pip install安装caffe-master /python/requirelist.txt 中的各种Python包。这一步需要特别注意protobuf
的版本与外界系统的protoc版本一致,系统protoc 版本查看方式为:protoc --version
4 配置Makefile.config 文件,注意把Python 相关路径设置为anaconda的Python。
5 make all -j8 make pycaffe. 此处需注意若make报错缺少某模块,pip安装好模块后在编译前需要make clean.
6 编译完caffe的python 接口后,需要在~/.bashrc 中添加 export PYTHONPATH=/home/xxxx/
caffe-master/python:$PYTHONPATH. 即将编译好的caffe 添加到python 搜索路径。(、该步并不是必须,后来注释掉
~/.bashrc文件中该行后,仍然成功,可能make pycaffe 已经自动添加路径了)。
7 测试是否成功。 source activate xxxx 进入虚拟换将, 输入Python进入交互,import caffe 如果不报错即成功。
第二步 安装 py- faster-rcnn
1 从github 上下载并解压得到py-faster-rcnn 文件夹
2 进入py-faster-rcnn/caffe-faster-rcnn文件夹,将上面第一步4中配置好的makefile文件拷贝到此文件夹,也可以
直接修改makefile。
3 make all -j8 make pycaffe
4 进入py-faster-rcnn/lib 文件夹 运行make 命令
5 下载训练好的模型,github官网提供的脚本网址已经失效,自己前往
https://dl.dropboxusercontent.com/s/o6ii098bu51d139/faster_rcnn_models.tgz 下载
下载完后 tar -zxvf faster_rcnn_models 把解压的文件夹放在 data 文件夹下。
6 测试。 py-faster/rcnn 文件夹运行 /tools/demo.py
可能遇到的错误:
1 Check failed: ReadProtoFromBinaryFile(param_file, param)
failed to parse netparameter
该错误主要是模型的问题,解决方法为 一定用tar 命令解压下载的模型,不能用系统自带的右键extract here.
2 protobuf 版本问题,主要包括:
python google.protobuf.internal import enum_type_wrapper
This file was generated by a newer version of protoc
解决方法为确保Python环境内部与系统的protobuf版本一致。
3 /usr/lib/libgdal.so.20: undefined symbol: sqlite3_column_table_name
sql版本问题,解决方法为 conda update sqlite
4 cannot find -lcblas
没有安装BLAS, 解决方法为:sudo apt-get install libatlas-base-dev
5 It requires a deb-src line in your sources.list
解决方法: 将etc/apt/soource.list 中 deb_src前面的注释去掉。(需要源码安装)
6 undefined reference to google::protobuf::io
原因: anaconda 环境中安装的protobuf 是32位的。解决方法为重新安装64位的(未实验)或者直接
卸载掉环境中的protobuf ,只保留系统的protobuf。