Pytorch 神经网络模块之 Pooling layers

1. torch.nn.MaxPool2d

   nn.MaxPool2d 是二维池化的方法,主要是针对图像,函数原型如下:

"""
kernel_size - 表示做最大池化的窗口大小,可以是单个值,也可以是 tuple 元组
stride - 步长,可以是单个值,也可以是 tuple 元组
padding - 填充,可以是单个值,也可以是 tuple 元组
dilation - 控制窗口滑动步幅
return_indices - 
ceil_mode - 
"""
class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)

   它的输入张量的形状必须是 $(batchSize, channel, height, width)$,举个例子:

import torch

input = [3,4,6,5,
         2,4,6,8,
         1,6,7,8,
         9,7,4,6]

# (batchSize, channel, height, width)   
input = torch.Tensor(input).view(1, 1, 4, 4)

# 创建一个 2x2 的最大池化层
maxpooling_layer = torch.nn.MaxPool2d(kernel_size=2)
output = maxpooling_layer(input)
print(output)

"""
tensor([[[[4., 8.],
          [9., 8.]]]])
"""

 

posted @ 2020-12-07 16:53  _yanghh  阅读(317)  评论(0编辑  收藏  举报