这几天被模型结果折磨到不行,mAP才0.2,完全不行啊,对模型改进没信心了,哎。。。。。。。
就是上次的代码,因为我装的是python3.6.发现这里Faster-RCNN-TensorFlow-Python3.5没法直接跑。需要进行一下编译。
准备代码:
我的环境是ubuntu,python3.6
rbgirshick/fast-rcnn
dBeker/Faster-RCNN-TensorFlow-Python3.5
rbgirshick的代码当然是python2的咯,我是没法直接用他的代码。但是dBeker的代码我也不能用啊,因为他的是用的是windows编译出来的。
如果你是ubuntu这个就好操作了。
以下修改针对Faster-RCNN-TensorFlow-Python3.5
创建文件文件
在
Faster-RCNN-TensorFlow-Python3.5/lib下建立两个文件。
1.Makefile
2.setup.py
- Makefile 文件如下
all:
python setup.py build_ext --inplace
rm -rf build
setup.py 文件如下
# --------------------------------------------------------
# Fast R-CNN
# Copyright (c) 2015 Microsoft
# Licensed under The MIT License [see LICENSE for details]
# Written by Ross Girshick
# --------------------------------------------------------
import numpy as np
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
cmdclass = {}
ext_modules = [
Extension(
"utils.cython_bbox",
["utils/cython_bbox.pyx"],
extra_compile_args=["-Wno-cpp", "-Wno-unused-function"],
),
]
cmdclass.update({'build_ext': build_ext})
setup(
name='fast_rcnn',
cmdclass=cmdclass,
ext_modules=ext_modules,
include_dirs=[np.get_include()]
)
上面两个文件就是从rbgirshick/fast-rcnn拷过来的,只是为了在我的电脑上重新编译为python3.6.如果你不想下载rbgirshick/fast-rcnn就直接创建吧。
编译
在Makefile同级目录下执行
make
就会在utils下看到bbox.cpython-36m-x86_64-linux-gnu.so文件。
这时候在python3.6下面就可以使用cpython_bbox。
demo.py
python demo.py --demo_net=vgg16
结果:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/000542.jpg
Detection took 2.956s for 300 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/001150.jpg
Detection took 2.989s for 300 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/001763.jpg
Detection took 2.912s for 300 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/004545.jpg
Detection took 2.952s for 300 object proposals
这里并没有使用预训练模型。
网友评论