avgpool2d

75 篇文章 2 订阅

1. 函数说明

class  torch.nn.AvgPool2d(kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None)
  • 作用:在由多个输入平面组成的输入信号上应用二维平均池。
  • kernel_size:卷积核的大小
  • stride: 步幅大小
  • padding : 填充

2. 使用范例

我们想对如下(4,4)的矩阵应用一个(2,2)卷积核进行求平均,那么我们可以使用一个平均池化层
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Project: zc
# @Author: zc
# @File name: avgpool_test
# @Create time: 2022/2/27 20:30
import torch
from torch import nn


x = torch.arange(16,dtype=torch.float32).reshape(1,4, 4)
avg = nn.AvgPool2d(kernel_size=2,stride=1)
print(f"avg={avg}")
y = avg(x)
print(f"x={x}")
print(f"y={y}")
x=tensor([[[ 0.,  1.,  2.,  3.],
         [ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.],
         [12., 13., 14., 15.]]])
y=tensor([[[ 2.5000,  3.5000,  4.5000],
         [ 6.5000,  7.5000,  8.5000],
         [10.5000, 11.5000, 12.5000]]])
PyTorchavgpool2d是一个用于平均池化操作的函数。平均池化是一种降低图像尺寸并保留主要特征的方法。 在PyTorch中,avgpool2d函数的使用方式如下: ``` torch.nn.functional.avg_pool2d(input, kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True, divisor_override=None) ``` - input: 输入的张量,形状为(N, C, H, W),其中N是batch大小,C是通道数,H是高度,W是宽度。 - kernel_size: 池化窗口的大小,可以是单个整数来表示正方形窗口,或者是一个元组来表示不同的高度和宽度。 - stride: 池化步幅的大小。默认值为kernel_size。 - padding: 输入的每一条边补充0的层数。 - ceil_mode: 当为True时,进行上取整,当为False时,进行下取整。 - count_include_pad: 计算池化时是否包括填充的0。 - divisor_override: 默认值为None,如果指定了值,将覆盖计算池化区域大小的除数。 例如,如果我们有一个输入张量shape为(1, 1, 4, 4),池化窗口大小为2x2,步幅为2,填充为0,那么我们可以使用avgpool2d进行平均池化操作: ```python import torch import torch.nn.functional as F input = torch.tensor([[[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]]]) output = F.avg_pool2d(input, kernel_size=2, stride=2, padding=0) print(output) ``` 输出结果为: ``` tensor([[[[ 3.5000, 5.5000], [11.5000, 13.5000]]]]) ``` 在这个例子中,输入经过2x2的平均池化后,输出的张量形状变为(1, 1, 2, 2),计算过程是将每个2x2的窗口内的数值求平均。 总结来说,PyTorchavgpool2d函数可以对输入张量进行二维平均池化操作,通过指定池化窗口的大小、步幅、填充等参数来实现不同的降维效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值