我正在使用Torch7库来实现神经网络。大多数情况下,我依靠预先训练的模型。在Lua中,我使用torch.load函数加载保存为torch .t7文件的模型。我很好奇切换到PyTorch(http://pytorch.org)并阅读了文档。我找不到任何关于加载预训练模型的机制的信息。我能找到的唯一相关信息是此页面:http://pytorch.org/docs/torch.html
但是页面中描述的函数torch.load似乎加载了一个用pickle保存的文件。如果有人在PyTorch中有关于加载.t7模型的其他信息,请在此处分享。
答案 0 :(得分:8)
正确的功能是load_lua
:
from torch.utils.serialization import load_lua
x = load_lua('x.t7')
答案 1 :(得分:2)
自PyTorch 1.0起torch.utils.serialization
已被完全删除。因此,没有人可以将模型从Lua Torch导入PyTorch。相反,我建议在pip
环境中通过conda
安装PyTorch 0.4.1(以便您可以在此之后将其删除)并使用this repo将Lua Torch模型转换为PyTorch模型,而不仅仅是不能用于训练的torch.nn.legacy
模型。然后使用PyTorch 1.xx对其执行任何操作。您还可以通过以下方式在PyTorch中训练转换后的Lua Torch模型:)