在调试FPN时结果不太美丽,被作者推荐调试Faster r-cnn。调试缘由
回来调这个faster rcnn。这次的代码是从这里的fater rcnn代码download。
首先编译cpython
怎么说,由于我的电脑的cuda不是正常安装,就是安装了一个CUDA Toolkit 9.1,在loca下没有cuda,我都不知道是不是安装好了。
就是如下方法:
conda install cudatoolkit==9.1
sudo apt install nvidia-384
所以作者写的setup.py。我没法使用。
改写如下:
import numpy as np
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
try:
numpy_include = np.get_include()
except AttributeError:
numpy_include = np.get_numpy_include()
cmdclass = {}
ext_modules = [
Extension(
"cython_bbox",
["bbox.pyx"],
extra_compile_args=["-Wno-cpp", "-Wno-unused-function"],
include_dirs = [numpy_include]
),
Extension(
"cython_nms",
["nms.pyx"],
extra_compile_args=["-Wno-cpp", "-Wno-unused-function"],
include_dirs = [numpy_include]
)
# Extension(
# "cpu_nms",
# ["cpu_nms.pyx"],
# extra_compile_args={'gcc': ["-Wno-cpp", "-Wno-unused-function"]},
# include_dirs = [numpy_include]
# )
]
setup(
name='tf_faster_rcnn',
ext_modules=ext_modules,
# inject our custom trigger
cmdclass={'build_ext': build_ext},
)
执行编译:
cd $PATH_ROOT/libs/box_utils/cython_utils
python setup.py build_ext --inplace
训练:请看这里,训练参数是一样的。
遭遇
如果直接从零开始训练,那就会出现这种情况。你需要加载权重。
加载权重之后:
对VOC数据进行训练
在7000步之后,faster rcnn 单个目标airplane, 结果非常优美,识别率特别高。
mAP如下:
结果图:
更新
今天,作者更新了FPN的代码,代码的风格和Faster R-CNN 一脉相承。
FPN_Tensorflow
网友评论