nn.AdaptiveAvgPool2d——二维自适应平均池化运算

PyTorch学习笔记:nn.AdaptiveAvgPool2d——二维自适应平均池化运算

torch.nn.AdaptiveAvgPool2d(output_size)

功能:该函数与二维平均池化运算类似,区别主要体现在自适应上,对于任何输入大小,输出大小均为指定的H×W大小。

输入:

  • output_size:指定的输出大小,可以是元组(H,W),或者是单个的数,如果是单个的数,则表示输出的高和宽尺寸一样,output_size大小可以大于输入的图片尺寸大小。

代码案例

一般用法

import torch
from torch import nn
img=torch.arange(24,dtype=torch.float).reshape(1,1,4,6)
pool_1=nn.AdaptiveAvgPool2d((2,3))
pool_2=nn.AdaptiveAvgPool2d(2)
img_1=pool_1(img)
img_2=pool_2(img)
print(img)
print(img_1)
print(img_2)

输出

# 原图
tensor([[[[ 0.,  1.,  2.,  3.,  4.,  5.],
          [ 6.,  7.,  8.,  9., 10., 11.],
          [12., 13., 14., 15., 16., 17.],
          [18., 19., 20., 21., 22., 23.]]]])
# 输出大小指定为(2,3)
tensor([[[[ 3.5000,  5.5000,  7.5000],
          [15.5000, 17.5000, 19.5000]]]])
# 输出大小指定为(2,2)
tensor([[[[ 4.,  7.],
          [16., 19.]]]])

output_size指定为1时,相当于全局平均池化

import torch
from torch import nn
img=torch.arange(48,dtype=torch.float).reshape(1,2,4,6)
pool=nn.AdaptiveAvgPool2d(1)
img_1=pool(img)
print(img_1)

输出

# 不同通道分别做池化运算
tensor([[[[11.5000]],

         [[35.5000]]]])

官方文档

nn.AdaptiveAvgPool2d():https://pytorch.org/docs/stable/generated/torch.nn.AdaptiveAvgPool2d.html?highlight=avgpool2d#torch.nn.AdaptiveAvgPool2d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉萌新、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值