runner,hook介绍

当涉及到深度学习框架,例如 MMDetection 或其他 MM 系列工具,runner 可以看作是训练过程的核心管理器,它负责模型的训练循环、评估以及与训练相关的各种事务。简单来说,当 runner“运行”,它会开始一个训练循环,迭代数据,前向传播、后向传播并更新模型权重。

Runner 与 Hook 的关系

runner 进行训练时,它会在适当的时间点调用已注册的 hook。例如,有可能有一个 hook 专门在每个 epoch 结束时保存模型,另一个 hook 在每个 epoch 开始时调整学习率。runner 知道何时调用这些 hooks,而 hooks 知道在被调用时应该执行什么操作。

代码示例

class SimpleRunner:
    def __init__(self):
        self.hooks = []

    def register_hook(self, hook):
        self.hooks.append(hook)

    def run(self, epochs):
        for epoch in range(epochs):
            for hook in self.hooks:
                hook.before_epoch()

            # 假设这里进行模型的训练代码,例如&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坠金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值