“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']
建议:
best_model.pth 和 latest.pthcheckpoint_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])
将内存中的数据刷写到磁盘,保证崩溃后可恢复。
checkpoint_timeout = 5min
checkpoint_completion_target = 0.9
max_wal_size = 1GB
手动触发:
CHECKPOINT;
query = df.writeStream \
.outputMode("append") \
.option("checkpointLocation", "/path/to/checkpoint") \
.start()
✅ 用于故障恢复,避免重复计算
Checkpoint 通常包含:
原则:
可恢复 ≠ 只存模型,必须能“接着训”
如:
一般做法:
为了给你更精准的回答,请补充:
我可以直接帮你写一份可用的 Checkpoint 方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。