程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Faster-RCNN-Tensorflow 的实现

发布于2019-08-07 12:38     阅读(808)     评论(0)     点赞(1)     收藏(3)


因为github上开源的代码都是两三年前的,所以我们复现起来会遇到各种各样奇怪的问题。

在我查阅了很多的CSDN博客和github上的问题后终于解决了问题

代码实现过程如下(我是按照我自己遇到的问题来写的,仅供参考)

1.代码来源:

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

2.配置环境:

在集群(centos)上用anaconda配置的环境,

所需要的环境有:python2.7,tensorflow-gup=1.6,cython,opencv-python, matplotlib,easydict=1.6,cuda, cudnn(注意这个是7.1.2版本的)此处不仔细讲了,github上和其他博客上讲的很详细。

3.需要下载的东西:

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar

http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar

解压后直接把VOCdevkit文件夹拷贝到tf-fater-rcnn/data路径下,并重命名为VOCdevkit2007

预训练的模型:https://pan.baidu.com/s/1F8VfDKjlq9x42ZDrrvfx2A 密码:8ahl

COCOAPI:https://github.com/cocodataset/cocoapi

最后把VOCdevkit、coco、voc_2007_trainval+voc_2012_trainval都放在data文件夹下

4.运行lib--make和demo.py时遇到的错误:

简述我更改的地方,以供大家参考:

1.tf-faster-rcnn-master\lib\setup.py

# 注释掉这几段代码

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

2.tf-faster-rcnn-master\lib\model\config.py

# 把原来的True改为False

# Use GPU implementation of non-maximum suppression
__C.USE_GPU_NMS = False

3.tf-faster-rcnn-master\lib\model\nms_wrapper.py

# 注释掉这段代码

# from nms.gpu_nms import gpu_nms

4.tf-faster-rcnn-master\tools\demo.py

# 添加这几段代码(注意import matplotlib.pyplot as plt要放到最后)

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt


# 把最后的 plt.show()注释掉改为plt.savefig
plt.savefig("pic.png")
# plt.show()

5.cudnn的版本不匹配问题:

参考:https://blog.csdn.net/htt789/article/details/79627015

 

最后运行:

GPU_ID=0
CUDA_VISIBLE_DEVICES=${GPU_ID} python ./tools/demo.py

在tf-faster-rcnn-master的目录下就可以看到pic.png图片



所属网站分类: 技术文章 > 博客

作者:爸爸去挣钱我去幼儿园

链接:https://www.pythonheidong.com/blog/article/10897/994184ded822c9b64244/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)