将Torch Lua转换成Numpy Python

我想将一些Lua Torch代码转换成numpy Python。我搜寻了一些文档,但还不清楚。我发现了这个网站。https://nn.readthedocs.io/en/rtd/index.html。是否有可能在Lua Torch函数和numpy函数之间做映射?谢谢!

点赞
用户6262499
用户6262499

你可以尝试使用Lutorpy,这是一个用于连接lua/torch和python/numpy的python库。

以下是一个示例转换:

-- lua 代码                                # python 代码(使用 lutorpy)
--                                         import lutorpy as lua
require "nn"                       ===>    require("nn")
model = nn.Sequential()            ===>    model = nn.Sequential()
-- 使用“:”访问 add 方法                       # 使用“._”访问 add 方法
model:add(nn.Linear(10, 3))        ===>    model._add(nn.Linear(10, 3))
--                                         import numpy as np
x = torch.Tensor(10):zero()        ===>    arr = np.zeros(10)
-- torch 风格(痛苦?)                      # numpy 风格(优雅?)
x:narrow(1, 2, 6):fill(1)          ===>    arr[1:7] = 1
--                                         # 将 numpy 数组转换为 torch tensor
--                                         x = torch.fromNumpyArray(arr)
--                                         # 或者你仍然可以使用 torch 风格
x:narrow(1, 7, 2):fill(2)          ===>    x._narrow(1, 7, 2)._fill(2)
-- 基于 1 的索引                             ===>    # 基于 0 的索引
x[10] = 3                          ===>    x[9] = 3
y = model:forward(x)               ===>    y = model._forward(x)
--                                         # 你可以将 y 转换为 numpy 数组
--                                         yArr = y.asNumpyArray()

如需更多信息,请访问Lutorpy的github页面。

2016-05-22 11:10:41