将Torch Lua转换为Numpy Python

时间:2016-05-10 14:44:23

标签: python numpy lua torch

我希望将一些Lua Torch代码转换为numpy Python。 我谷歌寻找一些文件,但仍不清楚。

我找到了这个。 https://nn.readthedocs.io/en/rtd/index.html

想知道Lua Torch函数和numpy函数之间是否有任何映射?

由于

1 个答案:

答案 0 :(得分:1)

你可以试试Lutorpy,这是一个用python / numpy桥接lua / torch的python库。

以下是转化的示例:

-- lua code                             # python code (with lutorpy)
--                                      import lutorpy as lua
require "nn"                    ===>    require("nn")
model = nn.Sequential()         ===>    model = nn.Sequential()
-- use ":" to access add        ===>    # use "._" to access 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 style(painful?)        ===>    # numpy style(elegent?) 
x:narrow(1, 2, 6):fill(1)       ===>    arr[1:7] = 1
--                                      # convert numpy array to a torch tensor
--                                      x = torch.fromNumpyArray(arr)
--                                      # or you can still use torch style
x:narrow(1, 7, 2):fill(2)       ===>    x._narrow(1, 7, 2)._fill(2)
-- 1-based index                ===>    # 0-based index
x[10] = 3                       ===>    x[9] = 3
y = model:forward(x)            ===>    y = model._forward(x)
--                                      # you can convert y to a numpy array
--                                      yArr = y.asNumpyArray()

有关详细信息,您可以转到lutorpy的github页面。