为什么 1, 3, 5, 5 的 tensor 经过 kernel_size=2 的 pool 之后变成了 1, 3, 2, 2?

我也不知道应该输出为多少,谁能讲解一下这个过程,为什么得到的结果是 2,2

demo 代码

import torch.nn.functional as F

# 创建一个大小为[1, 3, 5, 5]的张量
input_tensor = torch.randn(1, 3, 5, 5)

# 指定池化大小为3x3,并进行2D平均池化
output_tensor = F.avg_pool2d(input_tensor, kernel_size=2)

# 查看池化后的张量大小
print(output_tensor.size())

输出结果

torch.Size([1, 3, 2, 2])
回复
阅读 493
1 个回答

每一个 2x2 的区域算一个平均值,变成一个数。多余的(不足 2x2 的)就扔掉了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏