py-faster-rcnn部署(CPU ONLY)

前言

机器学习 装环境是最麻烦的 今天装报错 明天装不报错也真是玄学呢
装环境 要有耐心!会查错!注意备份!
我在全新的ubuntu里搞的
版本16.04 ,64位
由于是全新ubuntu 开机只有命令行因此我直接从图形化界面开始记录方法 已经完成的朋友可以直接不看~

1.图形化界面

sudo apt-get install ubuntu-desktop
如果报错看这里
注:我装完ubuntu-desktop的时候进去每次都是客人会话,下载安装什么的都异常麻烦,有些甚至不让你下载,必须要root权限。而且多用户造成了一个困惑就是没有公共文件!好吧 老实用root
参考解决方法,非常可用
设置一下就默认root登陆了
害得我吐槽了那个平台半天

2.环境安装

1.caffe
这讲的也不错,两者基本上是一样的哈
依赖库一个都不能有问题 !记住了 有问题根据报错信息去查解决方法 google+baidu
eg:版本不对
pip install xxx==version
很多时候出问题 先无脑更新一下pip
python -m pip install --upgrade --force pip

2.py-faster-rcnn

github地址参见url

3.克隆仓库

git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

4.安装一坨依赖库

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler不然疯狂报错
sudo apt-get install libopenblas-dev 一股脑都装上 我刚开始没装,make一次报错一次,害得我查了老半天= =
sudo apt-get install libatlas-base-dev
apt-get install python-pip python-dev build-essential
apt-get install python-opencv
pip install easydict
创建自己的文件夹
mkdir srtp
cd srtp

5.编译cython

修改py-faster-rcnn/lib下的setup.py文件,注释掉GPU的相关代码,然后make -j8,修改如下:

#CUDA = locate_cuda()  
#self.set_executable('compiler_so', CUDA['nvcc'])  
    #Extension('nms.gpu_nms',  
        #['nms/nms_kernel.cu', 'nms/gpu_nms.pyx'],  
        #library_dirs=[CUDA['lib64']],  
        #libraries=['cudart'],  
        #language='c++',  
        #runtime_library_dirs=[CUDA['lib64']],  
        # this syntax is specific to this build system  
        # we're only going to use certain compiler args with nvcc and not with  
        # gcc the implementation of this trick is in customize_compiler() below  
        #extra_compile_args={'gcc': ["-Wno-unused-function"],  
        #                    'nvcc': ['-arch=sm_35',  
        #                             '--ptxas-options=-v',  
        #                             '-c',  
        #                             '--compiler-options',  
        #                             "'-fPIC'"]},  
        #include_dirs = [numpy_include, CUDA['include']]  
    #),

PS: -j8是使用多核编译,这样编译速度快一点。

6.编译caffe

①输入指令:
先进入到caffe-fast-rcnn目录下:
cd $RCNN_ROOT/caffe-fast-rcnn
复制Makefile.config.example为Makefile.config。
cp Makefile.config.example Makefile.config
编辑Makefile.config。
gedit Makefile.config
做如下改动

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib12

--------------->
换成这两行:其实就是加上了hdf5的路径

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

②将Makefile.config里面的 WITH_PYTHON_LAYER :=1前面的注释去掉,这是因为faster R-CNN是要Python接口的,所以这一项要有,不能注释。

③对于CMakeLists.txt文件,将OFF改成ON

caffe_option(CPU_ONLY "Build Caffe without CUDA support" ON) # TODO: rename to USE_CUDA

④上面一堆折腾完就可以期待奇迹了
make -j8 && make pycaffe

参考资料:
hdf5找不到相关文件:(有两个票数还可以的回答都可以参考着试一下)
https://stackoverflow.com/questions/37007495/caffe-didnt-see-hdf5-h-when-compiling
修改目录位置
https://blog.csdn.net/xue_wenyuan/article/details/52037121

7.下载测试数据集 不得不用迅雷下载 ubuntu搞个迅雷有点麻烦 于是先自己电脑下载好再传到百度云上

百度云配置
传大文件通过百度云和我们的云服务器进行文件交互
有两个文件,下载完毕后放到data文件夹中解压即可
链接:https://pan.baidu.com/s/1O5yHm4Wt6Ijpy6d7_XdDTA
提取码:2i8k
链接:https://pan.baidu.com/s/1Meqanvnui9PoRCJMh7FMZg
提取码:5w7k

8.修改代码

A 修改py-faster-rcnn/lib/fast-rcnn下的config.py文件,即:__C.USE_GPU_NMS = False
B 修改py-faster-rcnn/tools下的test_net.py、train_net.py文件,将caffe.set_mode_gpu() 改为caffe.set_mode_cpu()
C 修改py-faster-rcnn/lib/fast-rcnn下的nms_wrapper.py文件,即:
 #from nms.gpu_nms import gpu_nms 注释掉

9.测试

python tools/demo.py --cpu
但是CPU速度比较慢,而且容易内存溢出,所以我们可以使用ZF模型(默认为VGG16):
cd ~/py-faster-rcnn
python tools/demo.py --cpu --net zf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值