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参数。