mmdet框架训练流程通俗理解

mmdet2版本

训练执行文件为tools/train.py

执行train.py文件后,主要做3件事:(1)创建model;(2)创建dataset;(3)根据配置进行训练,即调用train_detector函数;

创建model

执行model=build_detector函数创建

该函数首先会注册models类,再根据配置生成响应的model

这个过程用到了解释器@语法,语法较为复杂

通俗理解:就是根据具体的models的类型,如backbone、neck、head等,按照字典表进行检索,调取响应的类进行注册;

直接结果是:根据注册的类名称、属性,去寻找相应代码。如:配置文件中,backbone=dict(type=‘ResNet’,depth=18)

则在models/backbones路径下,寻找resnet.py文件,在该文件中可找到对应的ResNet类,注册函数本质调用的就是这个类。

创建dataset

与model类似,在datasets文件夹下,会有对应的dataset类型的类,注册过程最终调用的类一定在dataset文件夹下。

整个训练过程的最终配置文件在config文件夹下,用于设置具体的model、dataset、runtime参数。

你可能感兴趣的:(mmdetection,python,pytorch)