Pytorch学习(四)MaxPool最大池化

一维最大池化

函数原型

torch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)

如果输入大小为(N,C,Lin) ,则输出(N,C,Lout)计算公式如下:
在这里插入图片描述

参数说明

在这里插入图片描述
kernel_size(int or tuple) : max pooling的窗口大小
stride(int or tuple, optional) : max pooling的窗口移动的步长。默认值是kernel_size
padding(int or tuple, optional) : 输入的每一条边补充0的层数
dilation(int or tuple, optional) : 一个控制窗口中元素步幅的参数
return_indices : 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助
ceil_mode : 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作

代码示例

inPut = torch.tensor([
    [5,3,4,5],
    [3,2,3,1],
    [4,3,4,2]
], dtype=torch.float32)

m = torch.nn.MaxPool1d(3, stride=1)
outPut = m(inPut)
print(outPut)

打印输出:
tensor([[5., 5.],
[3., 3.],
[4., 4.]])
示例中定义了一个3x4大小凹点张量和窗口大小3,移动步长为1的池化层。如下图在第一个窗口中,最大值为5,然后向右移动一个步长,最大值为5,依次移动最大值池化窗口。
在这里插入图片描述

二维最大池化

函数原型

torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)

如果输入大小为(N, C, Hin, Win) ,则输出(N,C,Hout,Wout)计算公式如下:
在这里插入图片描述

参数说明

代码如下(示例):
kernel_size(int or tuple) : max pooling的窗口大小
stride(int or tuple, optional) : max pooling的窗口移动的步长。默认值是kernel_size
padding(int or tuple, optional) : 输入的每一条边补充0的层数
dilation(int or tuple, optional) : 一个控制窗口中元素步幅的参数
return_indices : 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助
ceil_mode : 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作

代码示例

in_features = torch.randn( 1, 3, 4)
mm = torch.nn.MaxPool2d(3, stride=1)
out_features = mm(in_features)
print(out_features)

打印输出:
在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值