详见我的repo
1. 系统配置
- 系统: VMware下的Ubuntu 14.04 LTS x64, 需要分配至少4GB内存
- 坑: 内存过小(<1G)编译时会出错:
g++: internal compiler error: Killed (program cc1plus)
- 预测时(<2G)也会出错:
*ptr host allocation of size 1382400000 failed
2. 安装Docker
- 参考官方指南
- 配置用户组, ${USER}为用户名
1
2
3
|
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
|
3. 下载镜像并安装额外依赖
- 先下载镜像
docker pull tleyden5iwx/caffe-cpu-master
- 启动镜像, 创建容器
docker run -i -t tleyden5iwx/caffe-cpu-master /bin/bash
- 在容器中安装额外依赖. docker镜像中已经安装了cython
1
2
|
sudo apt-get install python-opencv
sudo pip install easydict
|
- 配置github
1
2
|
git config --global user.name "yourname"
git config --global user.email yourname@example.com
|
4. 下载源码并运行demo
- 下载源码(这里使用的是我的源码)
1
|
git clone --recursive https://github.com/shawnau/py-faster-rcnn-cpu.git
|
- 编译(假设根目录为$FRCN_ROOT)
- 重命名$FRCN_ROOT/caffe-fast-rcnn下的Makefile.config.example 为 Makefile.config
1
2
3
4
5
|
cd $FRCN_ROOT/lib
make
cd $FRCN_ROOT/caffe-fast-rcnn
make -j8 && make pycaffe
|
- 下载预训练模型(注:可以直接用迅雷拖下来解压至data/)
1
2
|
cd $FRCN_ROOT
./data/scripts/fetch_faster_rcnn_models.sh
|
- 运行demo
1
2
|
cd $FRCN_ROOT
./tools/demo.py --cpu --net zf
|
- 其中
--cpu
代表使用caffe的CPU模式, –net zf 代表使用zf网络
- 默认的vgg16网络在本机上会被killed在载入模型阶段, 应该为内存不足所致
- 速度: 在i5下4秒一张图, 差了大约1.5个数量级
- 结果都以
tag_原图名称.jpg
保存在data/demo/下
5. 主要修改
- 和CPU/GPU相关的:
lib/fast_rcnn/config.py
lib/fast_rcnn/nms_wrapper.py
lib/setup.py
tools/test_net.py, train_net.py
caffe-fast-rcnn/Makefile.config
- 和输出相关的:
Refer
How to setup with CPU ONLY mode
I got the error when running demo.py
Caffe failed with py-faster-rcnn demo.py on TX1