我是 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 方法或其他方法可以做到这一点?
提前致谢!
没关系,在文档中找到了答案,所以我将其放在这里。
代码:
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]]])