根据分配批向量重塑张量

时间:2021-06-04 18:29:28

标签: python

所以,我有这个张量:

x = torch.tensor([[1,2],
                  [3,4],
                  [5,6],
                  [7,8],
                  [9,0]])

和这个分配向量 vec 用于 x 中的每个元素,


vec = torch.tensor([0,0,0,0,0,0,1,1,2,2])

我需要以这种方式制作张量列表


l =  [torch.tensor([[1,2],
                    [3,4],
                    [5,6]]),
      torch.tensor([[7,8]]),
      torch.tensor([[9,0]])]

我该怎么做? 6 个零表示张量 0 中的 6 个元素。2 个 1 表示张量 1 中的 2 个元素等。列数应保持不变。

1 个答案:

答案 0 :(得分:0)

您需要的方法是ravel

示例:

x = torch.tensor([[1,2],
                  [3,4],
                  [5,6],
                  [7,8],
                  [9,0]])
torch.ravel(x)

输出:

tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])

文档: https://pytorch.org/docs/stable/generated/torch.ravel.html

相关问题