火炬:连接不同尺寸的张量

时间:2017-04-25 15:37:53

标签: lua size concatenation torch tensor

我有一个x_at_i = torch.Tensor(1,i),在i = 0到n的每次迭代中都会增长。我想将所有不同大小的张量连接成一个矩阵,并用零填充剩余的单元格。什么是最惯用的方式。例如:

x_at_1 = 1
x_at_2 = 1 2
x_at_3 = 1 2 3
x_at_4 = 1 2 3 4
X = torch.cat(x_at_1, x_at_2, x_at_3, x_at_4)
X = [ 1 0 0 0
      1 2 0 0
      1 2 3 0
      1 2 3 4 ]

1 个答案:

答案 0 :(得分:0)

如果您知道n并假设您可以在每次迭代时轻松访问x_at_i,我会尝试类似

X = torch.Tensor(n, n):zero()
for i = 1, n do
    X[i]:narrow(1, 1, i):copy(x_at[i])
end