如何将 PyTorch 张量分块到具有重叠的指定存储桶大小?
How can I chunk a PyTorch tensor into a specified bucket size with overlap?
具体来说,我有一个形状的张量: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.]])
具体来说,我有一个形状的张量: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.]])