【发布时间】:2017-09-30 18:44:08
【问题描述】:
我正在尝试将不同维度的张量插入到 lua 表中。但是插入是将最后一个张量写入表中所有先前的元素。
MWE:
require 'nn';
char = nn.LookupTable(100,10,0,1)
charRep = nn.Sequential():add(char):add(nn.Squeeze())
c = {}
c[1] = torch.IntTensor(5):random(1,100)
c[2] = torch.IntTensor(2):random(1,100)
c[3] = torch.IntTensor(3):random(1,100)
--This works fine
print(c)
charFeatures = {}
for i=1,3 do
charFeatures[i] = charRep:forward(c[i])
--table.insert(charFeatures, charRep:forward(c[i]))
-- No difference when table.insert is used
end
--This fails
print(charFeatures)
也许我不明白 Lua 中的表是如何工作的。但是这段代码将最后一个张量复制到所有之前的 charFeatures 元素。
【问题讨论】: