DAY 37 早停策略与模型权重保存

📝 DAY 37 早停策略与模型权重保存


一、怎么判断模型过拟合?

过拟合就是模型在训练集表现特别好,但在测试集表现变差的情况。

  • 方法:同时打印训练集和测试集的指标(比如损失、准确率)
  • 信号:训练集损失持续下降,测试集损失先降后升,两者差距越来越大 → 过拟合了!

二、模型保存的 3 种方式

根据不同需求,选不同保存方法:

方式 保存内容 优点 适用场景
仅保存权重 只存模型参数(轻量级) 文件小、加载快 ✅ 模型部署(推理)、跨设备迁移
保存权重 + 模型结构 连模型结构一起存 加载后直接用,不用重写网络结构 ✅ 快速验证、代码共享
保存全部信息(Checkpoint) 权重 + 模型结构 + 优化器状态 + 当前 epoch 数 支持断点续训 ✅ 长时间训练、意外中断后继续训练

💡 对应文件后缀:

  • 仅权重 / 权重 + 结构:.pth
  • Checkpoint(断点续训):.ckpt
  • 跨框架迁移(比如给 TensorFlow 用):导出为 .onnx 格式

三、早停策略(防止过拟合的神器)

早停就是在模型开始过拟合前,提前结束训练,不用跑完所有 epoch。

核心逻辑

patience(耐心值)和 counter(计数器)来监控测试集损失:

  • patience:允许测试集损失连续多少轮不改善的最大次数
  • counter:当前连续没改善的轮数

不同情况怎么处理?

测试集损失趋势 counter 状态 早停是否触发 训练结果
持续下降 始终为 0 ❌ 不触发 一直训练到设定的 num_epochs 轮结束
稳定 / 波动(没超过 patience) 小于 patience ❌ 不触发 继续训练,再观察几轮
上升且连续 patience 轮没改善 等于 patience ✅ 触发 提前终止训练,保存当前最好模型

四、一句话速记

  • 过拟合判断:看训练集和测试集指标差距
  • 保存选择 :部署用 .pth 权重,续训用 .ckpt 断点,跨框架用 .onnx
  • 早停逻辑 :测试集损失连续 patience 轮不改善,就停!

@浙大疏锦行

相关推荐
火山引擎开发者社区3 小时前
火山 DTS 正式支持 MySQL 同步到 Milvus , 解决业务库到向量库最后一公里
人工智能
火山引擎开发者社区4 小时前
@开发者,提前解锁 FORCE 原动力大会五大看点,限时赢取门票福利
人工智能
火山引擎开发者社区4 小时前
这个 Skill 让 Agent 从会理解到会执行,补齐移动 APP 执行最后一公里
人工智能
火山引擎开发者社区8 小时前
Agent Plan、Coding Plan限时优惠:2.5折畅享多模型!
人工智能
冬奇Lab8 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
冬奇Lab9 小时前
每日一个开源项目(第136篇):OpenMemory - 给 AI Agent 真正的认知记忆引擎
人工智能
黄啊码9 小时前
【黄啊码】微信 AI 把聊天功能和 Vibe Coding打通了,创业者:我又白干了
人工智能
IT_陈寒10 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端