如何使用滑动窗口调整 PyTorch 张量的大小?

Sha*_*oon 4 python pytorch tensor

我有一个大小为:的张量torch.Size([118160, 1])。我想要做的是将其分成 n 个张量,每个张量有 100 个元素,一次滑动 50 个元素。使用 PyTorch 实现这一目标的最佳方法是什么?

sto*_*azy 10

您可以使用 Pytorch 的展开 API。请参阅此https://pytorch.org/docs/stable/ generated/torch.Tensor.unfold.html

例子:

x = torch.arange(1., 20)
x.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.],  
        [15., 16., 17., 18.]])
Run Code Online (Sandbox Code Playgroud)