“调试 Checkpoint(检查点)”在不同场景下含义差别很大,下面按最常见场景给你一套通用调试思路,你可以对照自己的情况用。
常见坑:
model.state_dict() 没保存 optimizermodule. 前缀调试方法
import os
print(os.listdir("checkpoints/"))
加载测试:
ckpt = torch.load("ckpt.pth")
print(ckpt.keys())
典型错误:
Missing key(s) in state_dict
Unexpected key(s)
调试
model.load_state_dict(ckpt, strict=False)
再打印缺失 / 多余 key:
missing, unexpected = model.load_state_dict(ckpt, strict=False)
print(missing)
print(unexpected)
如果是 DataParallel 导致:
from collections import OrderedDict
new_ckpt = OrderedDict()
for k, v in ckpt.items():
new_ckpt[k.replace("module.", "")] = v
model.eval()
with torch.no_grad():
for x, y in val_loader:
out = model(x)
如果验证指标异常 → checkpoint 可能:
torch.save({
"epoch": epoch,
"model": model.state_dict(),
"optimizer": optimizer.state_dict(),
"loss": loss,
}, "ckpt.pth")
常见问题:
调试步骤
--force-recovery 或 debug 模式启动调试重点:
Flink 示例
# Web UI → Job → Checkpoints
看:
如果你能告诉我:
我可以直接给你针对性的调试命令和代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。