nn.MaxPool1d
nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
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,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作
# 举个例子,构建一个卷积核大小为1x3,步长为2的池化层
import torch
import torch.nn as nn
m = nn.MaxPool1d(3, stride=2) # 卷积核1*3,行上每次滑动两步,列上每次滑动1步
input = torch.randn(2, 4, 5)
output = m(input) # pooling后,行的维度为[(5+0-3)/2]+1=2,列的维度为[(4+0-1)/1]+1=4
print(input.size()) # torch.Size([2, 4, 5])
print(output.size()) # torch.Size([2, 4, 2])