我想连接在for循环中生成的张量,并获取2dTensor。
标准python,如下所示。
li = []
for i in range(0, len(items)):
# calc something
li.append(calc_result)
在我的情况下,在for循环中,生成torch.Size([768])
张量,我想获得torch.Size([len(item),768])
张量。
该怎么做?
答案 0 :(得分:4)
您可以使用torch.stack
:
torch.stack(li, dim=0)
for循环之后,将为您提供该大小的torch.Tensor
。
请注意,如果您事先知道最终张量的大小,则可以预先分配一个空张量并将其填充到for循环中:
x = torch.empty(size=(len(items), 768))
for i in range(len(items)):
x[i] = calc_result
这通常比堆栈快。