Yolov5如何接续上次训练

本文详细介绍了如何在PyTorch中处理训练中断后恢复和继续训练的情况,包括从上次中断点继续以及调整epochs数后重新开始。方法包括使用`--resume`选项加载上次训练的模型,以及在`opt.yaml`中管理训练轮次设置。
摘要由CSDN通过智能技术生成

两种情况:

1.如果上次的指定训练轮次(epochs)没跑完就意外中断了,直接在在命令行中加上 --resume + 上一次训练中last.pt的路径

例如:

python  train.py  --resume  runs/exp2/weights/last.pt

也可以只写--resume后面不跟路径参数,程序会自动找到runs目录下所有exp/weights目录下的文件修改时间最晚的last.pt

python  train.py  --resume

而其他所有参数(--epochs、--batch-size等等)都会自动读取跟上次一样的(保存在runs/exp2/opt.yaml中),所以不用指定,就算指定了也没用。

2.如果是上次的指定训练轮次(epochs)跑完了还想要继续训练

先打开runs/exp2/opt.yaml,把epochs改成总轮次数(上次跑完的epochs+想继续跑的epochs),比如上次跑完了200epochs,想再加100epochs,那就改成300

在train.py中找到这部分,大约在190行,

start_epoch = ckpt['epoch'] + 1

改成

start_epoch = 上次跑完的轮次数

​        # Epochs
        # start_epoch = ckpt['epoch'] + 1
        start_epoch = 200
        if opt.resume:
            assert start_epoch > 0, '%s training to %g epochs is finished, nothing to resume.' % (weights, epochs)
            shutil.copytree(wdir, wdir.parent / f'weights_backup_epoch{start_epoch - 1}') 
        if epochs < start_epoch:
            logger.info('%s has been trained for %g epochs. Fine-tuning for %g additional epochs.' %
                        (weights, ckpt['epoch'], epochs))
            epochs += ckpt['epoch']  # finetune additional epochs

        del ckpt, state_dict

​

然后像情况1一样 --resume

python  train.py  --resume  runs/exp2/weights/last.pt

要在yolov5中继续上次训练,你可以使用参数--resume。这个参数允许你从上次中断的地方继续训练,而不需要重新训练整个模型。具体步骤如下: 1. 首先,你需要找到上次训练停止的检查点文件,通常位于/runs/train/expxxx/weights目录下。这个检查点文件包含了模型在上次训练结束时的权重信息。 2. 接下来,在命令行中运行yolov5训练命令,并加上参数--resume和检查点文件的路径。例如,如果你的检查点文件是last.pt,那么命令可以是:python train.py --resume weights/last.pt。 3. 运行命令后,yolov5会加载上次训练的权重,并从中断的地方继续训练。你可以继续训练剩下的epoch,或者根据需要选择训练的epoch数量。 通过使用--resume参数,你可以方便地继续上次训练,而不需要重新开始。这对于训练时间较长的模型尤其有用,可以节省训练时间并提高效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [yolov5——断点训练/继续训练【解决方法、使用教程】](https://blog.csdn.net/CharmsLUO/article/details/123410081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Yolov5如何在训练意外中断后接续训练](https://blog.csdn.net/m0_67402026/article/details/125346079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值