如何从Python中调用torch7(Lua)函数?

我有一个使用Python编写的程序,并且我有一个使用Torch7训练的ConvNet模型。我希望从Python程序中调用模型的前向和反向传播,因为我觉得在Lua中重新编写它很困难和困难。

有什么想法吗?

点赞
用户1442917
用户1442917

Torch7邮件列表的一位作者所建议,您可以尝试PyTorch

2015-11-16 16:07:24
用户6262499
用户6262499

我认为现在有一个更好的解决方案,就是lutorpy。与PyTorch不同的是,你可以在Python中使用Lua引擎,因此更灵活地导入任何Lua模块和在Python中编写代码,而且易于使用和灵活。对于PyTorch,你只有很少量的可直接在Python中使用的移植模块。

使用lutorpy,你可以轻松快速地在numpy和torch张量之间进行转换。

对于你的情况,你可以像这样在Python中编写代码:

import numpy as np
import lutorpy as lua

model = torch.load('PATH TO YOUR MODEL FILE')

# generate your input data with numpy
arr = np.random.randn(100)

# convert your numpy array into torch tensor
x = torch.fromNumpyArray(arr)

# apply model forward method with "._" syntax(which is equivalent to ":" in lua)
y = model._forward(x)

不同库之间的简要比较: 如何从Python中加载和使用Torch深度学习模型?

2016-04-27 17:20:26