You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用新增数据在Neural Prophet中重新训练已拟合的保存模型?

在Neural Prophet中实现模型增量更新(复用旧参数)

Neural Prophet目前官方文档未提供和fbProphet完全一致的增量更新专用API,但基于其PyTorch底层特性,可以通过以下两种方式实现复用旧模型参数、用新数据继续训练的效果:

方法1:加载预训练模型后直接继续训练

利用Neural Prophet自带的模型保存/加载机制,在已有权重基础上用新数据优化:

  • 先保存训练好的旧模型:
    from neuralprophet import NeuralProphet
    
    # 训练旧模型
    model = NeuralProphet()
    model.fit(df_old_data)
    # 保存模型
    model.save("pretrained_model.np")
    
  • 加载模型并使用新数据继续训练:
    # 加载预训练模型
    model = NeuralProphet.load("pretrained_model.np")
    # 用新数据继续训练,建议调小学习率避免破坏原有参数
    model.fit(df_new_data, epochs=10, learning_rate=1e-4)
    

方法2:冻结核心层,仅训练新增组件

如果新数据包含新增回归变量、节假日等特征,可以冻结原有模型的核心时间序列层,只训练新增的组件:

model = NeuralProphet.load("pretrained_model.np")

# 冻结模型核心参数,避免被更新
for param in model.model.parameters():
    param.requires_grad = False

# 添加新的特征组件
model.add_future_regressor("new_regressor_col")
model.add_country_holidays("CA")

# 仅训练新增组件,设置更小的学习率
model.fit(df_new_with_features, epochs=15, learning_rate=5e-5)

关键注意点

  • 继续训练时的学习率必须远低于初始训练值,防止原有已优化的参数被破坏。
  • 确保新旧数据的时间频率、列名等格式一致,否则加载模型后训练会报错。
  • 若新旧数据的时间序列分布差异极大,增量训练效果可能不如从头训练,建议先评估数据分布一致性。

内容的提问来源于stack exchange,提问作者Moody

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:45:30