所以,我有这个张量:
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 个元素等。列数应保持不变。
答案 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