[英]When using LinearRegression in python I get the message “Kernel died, restarting”
[英]Can I recover Python objects when Jupyter kernel suddenly died?
我正在用 Python 运行机器学习脚本。 运行 30 小时后直到模型训练,在预测期间的下一个代码中,内核根据 Jupyter notebook 的提示死亡。
当我点击“OK”时,我继续在下一个单元格上运行,但对象丢失了! 就像,它显示为“name_of_my_object 未定义”的错误。 甚至导入模块的功能都丢失了……一切都需要运行才能再次工作。
我真的别无选择,只能重新运行整个过程吗?
我尝试恢复到最后一个检查点,我不知道这有什么特别的帮助。 当我这样做时,它仍然相同,没有对象和模块在工作。
您加载检查点的确切脚本将取决于您使用的库。
例如在 pytorch 中:
with open(os.path.join(output, "log.csv"), "a") as f:
epoch_resume = 0
bestLoss = float("inf")
try:
# Attempt to load checkpoint
checkpoint = torch.load(os.path.join(output, "checkpoint.pt"))
model.load_state_dict(checkpoint['state_dict'])
optim.load_state_dict(checkpoint['opt_dict'])
scheduler.load_state_dict(checkpoint['scheduler_dict'])
epoch_resume = checkpoint["epoch"] + 1
bestLoss = checkpoint["best_loss"]
f.write("Resuming from epoch {}\n".format(epoch_resume))
except FileNotFoundError:
f.write("Starting run from scratch\n")
for epoch in range(epoch_resume, num_epochs):
print("Epoch #{}".format(epoch), flush=True)
# your model training code
# Save checkpoint
save = {
'epoch': epoch,
'state_dict': model.state_dict(),
'best_loss': bestLoss,
'loss': loss,
'opt_dict': optim.state_dict(),
'scheduler_dict': scheduler.state_dict(),
}
torch.save(save, os.path.join(output, "checkpoint.pt"))
if loss < bestLoss:
torch.save(save, os.path.join(output, "best.pt"))
bestLoss = loss
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.