在 PyTorch 中加载 Torch7 训练好的模型文件 (.t7)

我正在使用 Torch7 库来实现神经网络。通常情况下,我都会使用预先训练过的模型。在 Lua 中,我使用 torch.load 函数来加载以 .t7 格式保存的模型文件。我对转向 PyTorch (http://pytorch.org) 有兴趣,并阅读了相关文档。但是我没有找到任何有关如何加载预训练模型的机制的信息。我能找到的唯一相关信息是这个页面:http://pytorch.org/docs/torch.html

但在该页面中描述的 torch.load 函数似乎只适用于加载使用 pickle 保存的文件。如果有人有关于在 PyTorch 中加载 .t7 模型的额外信息,请在这里分享。

点赞
用户1330293
用户1330293

正确的函数是 load_lua

从 torch.utils.serialization 导入 load_lua

x = load_lua('x.t7')
2017-02-08 09:43:31
用户2838606
用户2838606

从 PyTorch 1.0 开始,torch.utils.serialization 已经完全删除。因此,不能再将 Lua Torch 模型导入 PyTorch。相反,建议在conda环境下安装 PyTorch 0.4.1,然后使用这个仓库将您的 Lua Torch 模型转换为 PyTorch 模型,不仅可以用于训练 torch.nn.legacy 模型。然后使用 PyTorch 1.xx 接着使用。你也可以用这种方式在 PyTorch 中训练你转换的 Lua Torch 模型 :)

2019-01-18 20:40:31