detectron2的结构介绍及代码实现

本文详细介绍了Detectron2的结构,包括config配置、数据集注册、训练器、评估器和预测器的使用。强调了Detectron2配置文件的继承关系、数据集的标准格式以及训练评估流程的关键步骤。同时提醒了在使用Detectron2时可能出现的问题和解决方法。
摘要由CSDN通过智能技术生成

detectron2的结构介绍

上一篇文章 detectron2的简介和配置_d948142375的博客-CSDN博客 介绍了怎么配置detectron2(以下简称DET2)到一台ubuntu18.04的远程服务器,本文将介绍为了实现一个基本的faster-RCNN该如何理解并运用DET2提供的功能。我不提供大量的代码讲解,DET2的代码、注释、doc非常的多,对于有基础的小伙伴,我只需要介绍其中最有价值的脚本及关键内容即可。你们仍然需要阅读我所提到的文件并理解其中的内容,所以本系列文章不适合直接co的人群。

DET2的colab

google提供了一个在线跑demo的环境colab:https://colab.research.google.com/drive/16jcaJoc6bCFAQ96jDe2HwtXj7BMD_-m5,并且google重构了一些功能例如cv2的imshow,所以在开始之前你需要先pip一下google-colab,不过colab google research的网站这几天崩了,网上说这个网站经常崩。我下载了这个网站的镜像,如有需要私信我。

最重要的是,colab提供了一套最基本的流程代码,可以跑起来那种,作为入门非常合适。但是镜像大约就只能看看代码了。

DET2的关键代码文件

如果需要自行配置一套模型并设计完整的流程,你需要仔细阅读下面所提到的文件,如果是初学者只打算跑完这个项目,下面几个文件可以跳过,内容比较多。

1. DET2的config是以树的形式存储的,detectron2/detectron2/config/defaults.py这个文件你需要认真看完,包含了算法细节的所有公共设置和各类衍生算法的改良设置,如果你懂图像识别的几种主流算法的话,这个文件的诸多设置英文名称你应当很熟悉,这个文件的注释也很全。所有简化的cfg最终都会继承自这里(不过简化cfg是先继承各自的default,然后继承自这里)。

从这个大而全的cfg文件(记为CFG)出发,可以在另一个目录:detectron2/configs/ 找到你需要的各种算法的default cfg和cfg文件,,其中子类cfg的第一行标明了它继承的父类cfg文件,创建项目所需的cfg文件需要先实例化一个cfg(get_cfg()),这一步继承自CFG,接下来需要merge一下所用算法的cfg。特别的,你需要根据CFG文件中所用算法的种类,修改不符合需求的默认设置。

值得注意的是,CFG文件有很多子类cfg没有的属性,你应该经常需要查看其中的属性,一定不要修改CFG原文件!

其中,主要的属性有这样几个关键字:MODEL(网络超参数),SOLVER(训练超参数),DATA/DATASET(数据集属性),按需查找,大多是默认设置好的。

当你所用算法的cfg属性配置完成,便可将cfg送到后续实例当中。值得注意的是,cfg.MODEL.ROI_HEADS.NUM_CLASSES应当直接是前景种类数量,而不包含背

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值