序列化语义
最佳实践
保存模型的推荐方法
序列化和恢复模型有两种主要方法。
第一个(推荐)只保存和加载模型参数:
torch.save(the_model.state_dict(), PATH)
然后:
the_model = TheModelClass(*args, **kwargs)
the_mdel.load_state_dict(torch.load(PATH))
第二个方法是保存并加载整个模型:
torch.save(the_model, PATH)
然后:
the_model = torch.load(PATH)
然而,在这种情况下,序列化的数据会与特定的类结构和准确的目录结构相绑定,所以在其他项目中使用或经大量重构之后,这些结构可能会以各种方式被破坏。