文章目录
之前的几篇文章已经分别理解了:
- 如何定义自己的数据集
- 如何训练自己的网络
- dataset和model是怎么构造的
本文就再详细的看一下,在构造好了dataset和model是如何训练的。从tools/train.py中
# mmdetection/tools/train.py
train_detector(
model,
datasets,
cfg,
distributed=distributed,
validate=args.validate,
timestamp=timestamp,
meta=meta)
可以进入在mmdet/apis/train.py中
# mmdetection/mmdet/apis/train.py
runner = Runner(
model,
batch_processor,
optimizer,
cfg.work_dir,
logger=logger,
meta=meta)
...
runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
再查看runner,可以看到,
# mmcv/runner/runner.py
class Runner:
def train(self, data_loader,