如何将 pytorch 张量聚合为更小的尺寸?

问题描述 投票:0回答:1

我是 pytorch 和张量的新手,我想知道如何执行以下操作。我将用一个超级简单的例子来解释:

如果我有 9 个值的 1d 张量 - [1,2,3,4,5,6,7,8,9] 我想按一定比例“聚合”或减少这个张量 - 比如说 3。在这种情况下,我想将前 3 个值聚合(平均值、总和,无论函数)为一个值,将第二个 3 聚合为另一个值,等等...

假设我想使用 sum 作为聚合函数。所以 [1,2,3,4,5,6,7,8,9] 会变成一个新的张量,看起来像 [6, 15, 24]

是否有内置的 pytorch 方法或其他方法可以做到这一点?

提前致谢!

pytorch tensor
1个回答
0
投票

没关系,在文档中找到了答案,所以我将其放在这里。

此函数及相关函数:https://pytorch.org/docs/stable/ generated/torch.nn.function.avg_pool1d.html#torch.nn.function.avg_pool1d

代码:

import torch
from torch.nn import functional as F
input = torch.tensor([[[2, 2, 3, 5, 5, 6, 8, 8, 9]]], dtype=torch.float32)
F.avg_pool1d(input, kernel_size=3, stride=3)

输出: 张量([[[2.3333, 5.3333, 8.3333]]])

© www.soinside.com 2019 - 2024. All rights reserved.