温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何设置Checkpoint检查点

发布时间:2026-09-07 21:15:16 来源:亿速云 阅读:94 作者:小樊 栏目:数据库

“Checkpoint(检查点)”在不同技术场景下含义和实现方式差别很大。下面按常见场景给你分别说明,你可以对照自己的情况使用。


一、深度学习 / 机器学习(PyTorch / TensorFlow)

1️⃣ PyTorch 中设置 Checkpoint

保存:

torch.save({
    'epoch': epoch,
    'model_state_dict': model.state_dict(),
    'optimizer_state_dict': optimizer.state_dict(),
    'loss': loss,
}, 'checkpoint.pth')

加载:

checkpoint = torch.load('checkpoint.pth')
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
epoch = checkpoint['epoch']

建议:

  • 每个 epoch 或每 N 步保存一次
  • 保留 best_model.pth 和 latest.pth

2️⃣ TensorFlow / Keras

checkpoint_path = "checkpoint.ckpt"
checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(
    checkpoint_path,
    save_weights_only=True,
    save_best_only=True,
    monitor='val_loss'
)

model.fit(x, y, callbacks=[checkpoint_callback])

二、数据库(如 PostgreSQL)

Checkpoint 作用

将内存中的数据刷写到磁盘,保证崩溃后可恢复。

常见设置(postgresql.conf)

checkpoint_timeout = 5min
checkpoint_completion_target = 0.9
max_wal_size = 1GB

手动触发:

CHECKPOINT;

三、Spark / 大数据(Streaming Checkpoint)

Spark Structured Streaming

query = df.writeStream \
    .outputMode("append") \
    .option("checkpointLocation", "/path/to/checkpoint") \
    .start()

✅ 用于故障恢复,避免重复计算


四、训练任务中断续训(通用思路)

Checkpoint 通常包含:

  • 模型参数
  • 优化器状态
  • 当前 step / epoch
  • 随机种子

原则:

可恢复 ≠ 只存模型,必须能“接着训”


五、如果你是指“流程 / 系统检查点”

如:

  • 工作流(Airflow)
  • 分布式任务
  • 仿真系统

一般做法:

  • 定时快照状态
  • 记录进度指针
  • 支持回滚到最近稳定点

六、你可以告诉我

为了给你更精准的回答,请补充:

  1. 使用的框架 / 语言(PyTorch?Spark?数据库?)
  2. 目的是训练恢复 / 容错 / 性能优化?
  3. 是否已有代码或配置?

我可以直接帮你写一份可用的 Checkpoint 方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手