如何通过重叠将PyTorch张量分块到指定的bucket大小中



具体来说,我有一个形状张量:torch.Size([1, 16])

我想把这个分成7个桶(每个桶4个(。示例:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

应该变成:

[[1, 2, 3, 4],
[3, 4, 5, 6],
[5, 6, 7, 8],
[7, 8, 9, 10],
[9, 10, 11, 12],
[11, 12, 13, 14],
[13, 14, 15, 16],
]

我如何使用PyTorch实现这一点?

看起来像unfold:

t.unfold(0,4,2)

输出:

tensor([[ 1.,  2.,  3.,  4.],
[ 3.,  4.,  5.,  6.],
[ 5.,  6.,  7.,  8.],
[ 7.,  8.,  9., 10.],
[ 9., 10., 11., 12.],
[11., 12., 13., 14.],
[13., 14., 15., 16.]])

最新更新