yolov8训练过程中保存权重 保存检查点

文章介绍了Ultralytics库中cfg/default.yaml文件中save_period参数的用法,指出当设置为-1时不会保存,而改为正数可按指定epoch间隔保存权重。还提到如何在modal函数中修改这个参数以实现每epoch保存一次权重。

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

文件ultralytics/cfg/default.yaml中的相关参数

当save_period 为-1时不保存,只需要改为你想要的间隔正数即可。

或者在modal 函数中重载该参数,如下

save_period=1表示每隔一个epoch就保存一次权重。

如果你已经拥有一个预训练YOLO模型,并希望对它的权重进行修改或微调,可以按照以下几个步骤来进行: 1. **加载预训练模型**: 使用相关的深度学习框架(如PyTorch、TensorFlow等),将保存下来的预训练模型及其权重文件加载到内存中。例如在 PyTorch 中可以通过 `torch.load()` 函数读取 .pth 格式的权重文件;而在 TensorFlow/Keras 下则利用 `model.load_weights()` 加载 h5 文件内容。 2. **冻结部分层的权重** (可选): 如果只是想针对新的检测类别做少量改动而不破坏原有结构性能的话,可以选择性地“冻结”住一些基础 feature extractor 部分不参与后续训练过程,只让最后几层负责分类预测的部分继续优化。这一步通常通过设置对应 layer 的 requires_grad 属性为 False 实现: ```python for param in model.parameters(): param.requires_grad = False ``` 3. **替换最后一层或者增加额外层**: 因为我们可能改变目标物体的数量所以得相应调整 output head 区域的设计方案。假设原版 YOLO 设计是用来识别 COCO 数据集里80种类别那么此时你需要依据自定义需求构建出一个新的 Linear/Fully Connected Layer 并重新初始化其参数接着挂接到主干网上面去覆盖掉旧版本的那个模块。 4. **定义损失函数与优化器**: 确保选用合适的 loss function 比如 CIoU Loss 和 Cross Entropy Loss 结合起来衡量边界框定位误差以及类别归属概率差异同时挑选恰当 optimizer 类型像 AdamW 可能会比 SGD 效果更好一点因为它自带 momentum 功能并且还具备正则化能力减少 overfitting 发生几率。 5. **开始Fine-Tuning阶段**: 把准备完毕的数据送入上述改造后的网络当中开启新一轮梯度计算流程直至收敛为止期间记得监控 validation set 上的表现指标防止出现退化现象。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值