torch.nn.MaxPool2d
是 PyTorch 中的一个二维最大池化层。它用于在神经网络中执行最大池化操作,以减少特征图的空间尺寸并提取出主要特征。
torch.nn.MaxPool2d
的常用语法如下:
torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
参数说明:
kernel_size 表示池化核的大小,可以是一个整数表示正方形核,或者是一个元组 (h, w) 表示不同的高度和宽度。
stride 表示步幅(即每次滑动的距离),默认为 kernel_size,如果设置为 None,则取默认值。
padding 表示在输入的边界周围添加填充的层数,默认为 0。
dilation 表示膨胀率,默认为 1,用于控制池化操作的采样间隔。
return_indices 是一个布尔值,表示是否返回池化操作过程中的最大值位置的索引,默认为 False。
ceil_mode 是一个布尔值,当为 True 时,在进行下采样时使用向上取整来计算输出形状,当为 False 时使用向下取整(默认)。
在使用 torch.nn.MaxPool2d
时,你需要将其作为神经网络中的层来使用。以下是一个简单的示例:
import torch
import torch.nn as nn
# 创建一个二维最大池化层
maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
# 输入数据(假设为批次大小为1,通道数为1的4x4图像)
input_data = torch.tensor([[[[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]]], dtype=torch.float32)
# 进行最大池化操作
output_data = maxpool(input_data)
print(output_data.shape) # 输出形状为 [1, 1, 2, 2]
print(output_data)
在上述示例中,我们创建了一个 2x2 的最大池化层,然后将一个大小为 4x4 的输入图像通过该层进行池化操作。输出的形状为 [1, 1, 2, 2],表示批次大小为 1,通道数为 1,高度和宽度都为 2 的特征图。
Lnton 羚通算法算力云平台是专注于音视频算法、算力、云平台的高科技人工智能, 基于视频分析技术、视频智能传输技术、远程监测技术以及智能语音融合技术等, 拥有多款可支持 ONVIF、RTSP、GB/T28181 等多协议、多路数的音视频智能分析服务器
标签:False,nn,torch,MaxPool2d,PyTorch,池化,data From: https://blog.51cto.com/LNTON/7274473