Ubuntu 16.04 测试 tf-faster-rcnn 在CPU下运行

参考链接:

https://blog.csdn.net/sinat_33486980/article/details/81045315

https://github.com/endernewton/tf-faster-rcnn

1、下载anaconda,https://www.anaconda.com/download/#linux

目前最新版本是python 3.7,可以选择最新版下载

2、pycharm下载,http://www.jetbrains.com/pycharm/download/#section=linux

可以选择社区版(免费)

3、安装tensorflow(cpu版)

 

官方的建议是即时你有gpu,但也可以先装一个cpu版,创建环境的命令为:

conda create -n tensorflow python=3.6(一定要指定python版本,python=3.6)

先下载安装包,下载路径为(这里选择1.9是因为faster-rcnn已经用到1.9的内容了):

https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl

 

下载之后,将whl文件重命名为tensorflow-1.9.0-py3-none-linux_x86_64.whl,否则会出现

tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform.

一样的报错,具体参考https://github.com/tensorflow/tensorflow/issues/1990,然后进入环境并安装tensorflow,执行下面的命令:

source activate tensorflow #激活tensorflow环境

cd /Downloads #切换到whl文件所在文件夹

pip install --ignore-installed --upgrade tensorflow-1.0.0-py3-none-linux_x86_64.whl #不要用sudo pip,也不要用pip3

4、验证安装:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello)

 

 

5、配置faster-rcnn工程:

(1)、Faster-rcnn下载地址:https://github.com/endernewton/tf-faster-rcnn

git clone https://github.com/endernewton/tf-faster-rcnn.git

(2)、运行和修改配置文件(下面相关命令的安装必须是激活tensorflow环境下安装

cd tf-faster-rcnn/lib
vim setup.py
make clean
make

此时会报以下错误:

python setup.py build_ext --inplace
Traceback (most recent call last):
  File "setup.py", line 55, in <module>
    CUDA = locate_cuda()
  File "setup.py", line 43, in locate_cuda
    raise EnvironmentError('The nvcc binary could not be '
OSError: The nvcc binary could not be located in your $PATH. Either add it to your path, or set $CUDAHOME
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 1

由于使用的是CPU运行,因此需要修改::lib/setup.py

(1)注释:#CUDA = locate_cuda()

(2)注释:

 # 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_52',
    #                                  '--ptxas-options=-v',
    #                                  '-c',
    #                                  '--compiler-options',
    #                                  "'-fPIC'"]},
    #     include_dirs = [numpy_include, CUDA['include']]
    # )

修改后再次make,无报错即可

(3)、安装Python coco API,因为代码运行需要使用coco API来连接coco 数据集

在终端输入一下命令:

cd data
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..

(4)、运行Demo

(1)、下载预训练模型(voc_0712_80k-110k.tgz)

百度网盘链接:https://pan.baidu.com/s/1mdr3sLGKTgDPn4fMpR-V-w

下载完后放入data文件夹下,使用命令解压:tar xvf voc_0712_80k-110k.tgz

(2)、在根目录新建output文件夹,然后将前面解压出来的预训练模型的四个文件拷贝到该文件夹下

(3)、修改tools/demo.py

将tfmodel = os.path.join('output', demonet, DATASETS[dataset][0], 'default',   NETS[demonet][0])

改为:tfmodel = os.path.join('output', NETS[demonet][0])

然后将demo.py拷贝到根目录,再运行demo.py

这时出现以下错误:

Traceback (most recent call last):
  File "/home/modao/PycharmProjects/tf-faster-rcnn/tools/demo.py", line 20, in <module>
    from model.test import im_detect
  File "/home/modao/PycharmProjects/tf-faster-rcnn/tools/../lib/model/test.py", line 24, in <module>
    from model.nms_wrapper import nms
  File "/home/modao/PycharmProjects/tf-faster-rcnn/tools/../lib/model/nms_wrapper.py", line 12, in <module>
    from nms.gpu_nms import gpu_nms
ModuleNotFoundError: No module named 'nms.gpu_nms'

(4)、修改lib/model/nms_wrapper.py

注释:from nms.gpu_nms import gpu_nms

修改force_cpu为:force_cpu=True

再次运行demo.py

成功后会显示:

Loaded network output/res101_faster_rcnn_iter_110000.ckpt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/000456.jpg
Detection took 59.350s for 300 object proposals
 

图片检测结果:

正式训练数据请进一下链接:

https://blog.csdn.net/oMoDao1/article/details/82702337

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoveWeeknd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值