Ubuntu 16.04下利用tf-faster-rcnn在VOC或其他数据集上训练自己的模型

本文档详细介绍了如何在Ubuntu 16.04上使用tf-faster-rcnn进行模型训练,包括配置环境、在VOC数据集上训练以及在其他数据集上训练的步骤,涵盖从安装依赖到修改代码以适应自定义数据的过程。
摘要由CSDN通过智能技术生成

暑期的时候有朋友问我如何配置tf-faster-rcnn,那会简单写了个steps.pdf。正好最近闲了下来,就把它汇总一下。

Introduction

这是一篇介绍如何使用tf-faster-rcnn在VOC和其他数据集训练自己模型的笔记.
笔记中所有文件的地址: github
我的机器和库版本: GTX 1060, miniconda 4.5.4, CUDA 9.0, CUDNN 7.1.4, tensorflow-gpu 1.8.0.

1 配置tf-faster-rcnn

这里参考https://github.com/endernewton/tf-faster-rcnn,具体细节有一些不同.

1.1 Intall opencv, cython, easydict

我使用的是opencv 3.4.1, cython 0.28.4 and easydict 1.7.

1.2 Clone the repository

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

1.3 Build the Cython modules

cd tf-faster-rcnn/lib
make clean
make
cd ..

1.4 Install the Python COCO API

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

1.5 Setup data

cd data
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
ln -s VOCdevkit VOCdevkit2007
cd ..

1.6 Download pre-trained model

Google Driver: link
Baidu Cloud: link
下载模型并放入目录tf-faster-rcnn/, 在当前目录执行命令

tar xvf voc_0712_80k-110k.tgz

1.7 Create a folder and a soft link to use the pre-trained model

NET=res101
TRAIN_IMDB=voc_2007_trainval+voc_2012_trainval
mkdir -p output/$NET/$TRAIN_IMDB
cd output/$NET/$TRAIN_IMDB
ln -s ../../../voc_2007_trainval+voc_2012_trainval ./default
cd ../../..

1.8 Modify python file

修改tf-faster-rcnn/lib/datasets/voc_eval.py, 121 line.

# save
print('Saving cached annotations to {:s}'.format(cachefile))
with open(cachefile, 'w') as f: ---> with open(cachefile, 'wb') as f:
  pickle.dump(recs, f)

1.9 Demo for testing on custom images

修改python文件之后, 执行以下命令.

GPU_ID=0
CUDA_VISIBLE_DEVICES=$GPU_ID ./tools/demo.py

1.10 End

至此为止, 只需要对./tools/demo.py进行轻微修改, 你就可以使用这个模型来预测自己的数据集(数据集中的category必须在VOC数据集里面). 当然mean iou肯定不会很高的, 大约会在0.20~0.60这个区间.

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值