• 【MMDetection 详解】


    MMDetection 详解

    1.train

    • configure文件表示整个模型结构,是mmdetection里面最重要的部分。就是使用一个configure文件来管理所有的内容,是因为整个ML的参数太多了,所以统一在config文件夹中进行设置。

    • 具体要写多少层,训练策略,选取的优化器,数据的处理等,这些所有的参数你都不能每次都去源码里面去改,那就把这些所有的事情都写到一个config文件里面。然后让一键构建,这就是config文件的作用。

    • config文件是mmdetection最重要的部分,其实不仅仅是参数的设定,它还包括了模型的构建,模型整个搭起来就是在一个config文件里面的。

    • mmdection的config文件就是一个py文件,yaml文件也是config文件的一种类型。

    • 比如你打开一个py文件,如上图所示,你也不知道是什么意思,其实这个文件特别长,但是你看到的就是这一句话。为什么只有这一句话呢?这是因为它索引了base,它索引了一个前面的配置文件。它只对这个配置文件的这一些字段做了修改。

    • 点这个配置文件,你会发现它索引了另外一个配置文件,另外一个配置文件可能又会索引到另外一个配置文件,这样的索引,可能要7-8次。

    • 对于新手来说,往往难以找到字段,所以说的第一个重要的事情就是print_config()把所有的参数都打印出来。

    1.1 print_config()

    • 在mmdetection里面给了一个tools工具将config文件打印出来。

    可以将config文件的所有内容,打印到一个py脚本当中。这是第一个重要的点,尤其是对于刚学的人来说,你那些字段是什么,甚至不知道有那些字段。

    一定要把config文件中的信息打印出来去研究,这是第一件事情。

    1.2 训练模型

    • 你想模型只需要这一句话,,连后面的--work-dir $WORKDIR 都不需要。

    • 只需要 ,你想train什么都可以,所以config就是包含了所有。训练就只需要包含这一句话就好了。所以config是极其重要的重点。

    • mmdetection集成了非常多的算法,举个例子,比如打开fastercnn这个算法,

    faster_rcnn里面又包含各种结构,比如backbone不一样,训练策略的不一样,数据集的不一样等。

    • 比如说这个配置文件,这个命名是有严格规范的,

      1.faster_rcnn--- 对应方法。

      2.r101-------backbone。

      3.fpn------Feature pyramid network(特征金字塔网络),提高目标检测的准确率,尤其是小目标的检测

           4.mstrain---多尺度的训练。

           5.3x---longsgadule 更长时间的训练 1x 就是12个epoch3x就是36个epoch

           6.coco---是指在coco数据集上进行训练。

    每一个文件夹集成了一个方法,每个方法又有不同的结构训练方式。

    在_base_文件夹下包含三个部分1.models,2. schedules和3.datasets:

    •  configure文件的组成是字典结构,一定是一个一个的字典。
    • configure文件写这么多,主要是为了将数据传到这个地方,文件中的有些字段并不是字典,而是一个值。

     像上面的train_pipeline,test_pipeline等,它只是一个值,它是作为一个value传到后面的字典里面

    上面写这么多,只是为了把value传在这个地方,

    要知道某些字段并不是configure文件的构成,它是一些值,为了传到字典里面的。

    像下面这个model,它有backbone,首先是model的类型是SOLOv2backbone 是由ResNet101搭建,neck,mask_head就把复杂的模型搭建完成了。

    1.2.1 Model

    type=‘Resnet’既然登记为这个类,一定有这个类的源码。

     在这个文件夹,backbones里面可以找到对应的源码,后面的字典只是将参数传递给源码里。或者在config文件里面不知道代码是干什么的,可以快速的找到源码,了解其用途。

     

     

     

     

  • 相关阅读:
    外贸供应链ERP怎么选?全流程综合管理解析
    微信小程序中复制文本
    设计模式之模板方法模式
    避免数据泄露风险!NineData提供SQL开发规范和用户访问量管理
    链表详解1
    奥威BI做数据可视化大屏报表,不踩坑更省心
    【游戏客户端】制作节奏大师Like音游(下)
    nrf52832通过自定义profile实现BLE串口透传功能
    vue设计原理-带你重走vue诞生路程
    阿三的CV很有意思
  • 原文地址:https://blog.csdn.net/u013035197/article/details/126255391