faster-rcnn的训练流程及其如何训练自己的数据集(一)

本文介绍了Faster R-CNN在TensorFlow中的训练流程,包括理解训练目录结构、数据加载、roidb数据处理,以及训练前的准备工作。详细解析了从加载VOC2007数据集到构建训练所需的roidb数据,特别是数据增强和目标框回归目标的计算。文章旨在帮助读者系统地掌握Faster R-CNN的训练过程。
摘要由CSDN通过智能技术生成

前言:


关于faster rcnn的训练网络,哪怕你一直很努力,死磕代码。就会像这图一样智商不够用啊,这边看了那边忘。所以希望大家能体系的学习faster rcnn。因为走了很多弯路,总结一下自己的理解。本篇关于Faster rcnn 的训练是基于tensorflow版本的,因为最近一直在搞这个,也为了巩固一下知识点,在此写个博客,也希望能帮助到大家。废话不多说,我们直接开始。

第一点:首先要明白faster rcnn目录下都有哪些文件夹,都有什么用处。如下截图:

文件夹:

data--------->存放的是用于训练的数据集,一般我们用的都是voc2007的数据集,知道就行了,还有一个很重要的是文件夹是pretrain_model,必不可少的,这里面存放的VGG_imagenet.npy也就是VGG模型,这个大家在网上找找就能找到。还有一个cache文件夹是随着训练的进行,用来存放训练数据的,为了下次加载数据方便。

experiments---->下面有个scripts文件夹里面存放的是faster_rcnn_end2end.sh,算是起始指令吧,我们是通过运行这个文件,加载参数来调用其他各个文件的。

lib------------>该文件夹里面存放的东西很多,主要是一些python接口文件及运行的log文件。所以说程序运行之前先make一下。关于里面各个作用,下面我会根据训练流程一一讲解。

output-------->存放当然是你的输出结果了,你的训练结束后所训练好的模型。

tools------->里面的是训练、测试的加载起始文件。demo.py是一个简单的测试文件。

好了,关于各个文件的说明已经结束。

第二点:faster rcnn训练流程开始

1.数据加载

通过./experiments/scripts/faster_rcnn_end2end.sh gpu 0  VGG16 pascal_voc命令,调用tools/train_net.py加载完参数后 imdb = get_imdb(args.imdb_name)调用了get_imdb()函数(该函数来于lib/datasets/factory.py)返回的是一个lambda表达式(其实是通过pascal_voc()函数来创建imdb数据的,通过该表达式,进入了pascal_voc函数,初始化了imdb数据,此时,数据加载完成。---->self._roidb_handler = self.gt_roidb并设置了gt_roidb

  • 13
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值