资讯动态

时间序列预测训练效率完整指南:三个阶段配好早停

发布时间:2026/9/13 6:23:13 来源:尧图企业网站定制
时间序列预测训练效率完整指南三个阶段配好早停【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library用 Time-Series-Library一个支持长短期预测、分类、异常检测、插补的深度学习时序模型库跑预测任务时很容易遇到这种情况epoch 8 左右验证损失就不再下降但--train_epochs配了 30剩下二十多个 epoch 全在空耗 GPU。这个库内置了完整的早停机制utils/tools.py 里的EarlyStopping类负责计数和存档各任务的训练循环在 exp/ 目录的实验类中接入。真正要调的只有三处开训前的 patience 与监控指标、训练中的阈值和学习率联动、训完后的 checkpoint 回滚。训练开始前patience 参数和监控指标怎么设场景。选 patience 时要防两头设小了验证曲线抖一下就触发早停设大了又回到开头说的空耗。patience 指容忍验证指标连续多少个 epoch 不改善计数打满就终止训练。做法。入口 run.py 的默认值是--patience 3、--train_epochs 10两者配合最多浪费 3 个 epoch。取值上我们建议ETT 这类小数据集取 3~5默认值 3 就够了Traffic、ECL 这类大数据集噪声大可放宽到 5~10仓库里分类脚本实际都用--patience 10监控指标统一看验证损失预测任务对应 MSE默认损失或 MAE分类任务最终看 Accuracy、异常检测看 F1但早停触发条件只看验证集 loss 是否改善。效果。设定 patience 后模型即使停止提升训练也不会跑穿。以 patience3 的小数据集为例最坏多跑 3 个 epoch 就停scripts/long_term_forecast/ 下的现成脚本可以直接复用不用改代码。验证指标不再上涨时动态阈值与学习率怎么联动场景。训练中验证曲线进入平台期偶尔往下掉 0.0001 这种量级。按默认设置每次微小下降都会把计数清零早停永远触发不了。做法。EarlyStopping构造函数带一个delta参数默认 0判定逻辑是score -val_loss if score self.best_score self.delta: self.counter 1 # 改善不明显计数累加 if self.counter self.patience: self.early_stop True只有验证损失下降幅度达到delta才算改善否则计数累加。第一轮实验 delta 保持 0第二轮看曲线平台期的抖动幅度把 delta 提到抖动幅度的 1~2 倍训练后期只有真实改进才会重置计数。同时看学习率联动exp/exp_long_term_forecasting.py 里每个 epoch 先做早停判定再调adjust_learning_rate。默认--lradj type1每 epoch 学习率减半type3则是前 3 个 epoch 保持、之后按 0.9 衰减。平台期出现时学习率往往已降了一个数量级此时仍不改善停掉是合理的——这就是先降学习率再谈停的节奏训练循环已内置。效果。delta 过滤掉假平台期学习率衰减给模型公平的恢复机会两类错误——早停过早和拖太久——都能少犯。收敛判定最佳 checkpoint 怎么保存和回滚场景。训练停了但最终评估用哪个 epoch 的参数用最后一个 epoch 的话很可能比中途最好的那个差。做法。EarlyStopping.save_checkpoint只在验证损失低于历史最佳时写文件落到该实验 setting 目录下的checkpoint.pth没有改善就不更新旧的最佳参数原样保留。训练循环结束后测试评估前会重新加载这份最佳存档best_model_path path / checkpoint.pth self.model.load_state_dict(torch.load(best_model_path))也就是说日志里打出的 test 指标算的是最优 epoch 而非最后一个 epoch 的成绩。早停触发时磁盘上的checkpoint.pth同样还是停止前那份最佳版本。效果。不管训练在第几个 epoch 停下拿到的都是历史最优参数不用手动重跑或回滚。场景推荐参数 / 操作小数据集ETT 系--patience 3、--train_epochs 10默认值大数据集Traffic / ECL--patience 5~10分类任务--patience 10仓库分类脚本取值异常检测任务--patience 5KANAD 脚本取值验证曲线平台期小幅抖动将delta提到抖动幅度的 1~2 倍学习率调度--lradj type1每 epoch 减半或type33 epoch 后按 0.9 衰减最终评估确认加载checkpoint.pth最佳存档而非最后一个 epoch下一步先用默认参数跑一轮小实验记下验证曲线进入平台期的 epoch再据此反推 patience 和 delta比凭空猜数值稳。【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价