如何将pytorchTensor聚合到更小的尺寸?

7cjasjjr  于 2023-11-19  发布在  其他
关注(0)|答案(1)|浏览(109)

我是pytorch和tensors的新手,我想知道如何做以下事情。我将用一个超级简单的例子来解释:
如果我有一个1dTensor的9个值- [1,2,3,4,5,6,7,8,9]我想“聚合”或减少这个Tensor的某个比例-让我们假设为3的例子。在这种情况下,我想聚合(平均值,总和,任何函数)的第一个3到一个值,第二个3到另一个值,等等...
假设我想使用sum作为聚合函数。那么[1,2,3,4,5,6,7,8,9]将变成一个新的Tensor,看起来像[6,15,24]
有没有一个内置的pytorch的方式来做到这一点或其他一些方式?
提前感谢!

jvlzgdj9

jvlzgdj91#

没关系,在文档中找到了答案,所以我把它放在这里。
此函数和相关函数:https://pytorch.org/docs/stable/generated/torch.nn.functional.avg_pool1d.html#torch.nn.functional.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)

字符串
输出:Tensor([2.3333,5.3333,8.3333]])

相关问题