【mmdetection实践】(五)理解train的过程

本文详细探讨了在mmdetection中,如何在构造好dataset和model后进行训练。从tools/train.py开始,深入到mmdet/apis/train.py中的runner,分析了batch_processor和model的前向计算过程,揭示了loss计算是在前向传播中完成的。在训练模式下,return_loss=True会返回losses,而预测模式则返回bbox_results。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

之前的几篇文章已经分别理解了:

  • 如何定义自己的数据集
  • 如何训练自己的网络
  • 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, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值