PyTorch----torch.nn.AdaptiveAvgPool2d()自适应平均池化函数

AdaptiveAvgPool2d是PyTorch中的一个模块,用于卷积神经网络(CNNs)中的自适应平均池化。它通常用于需要将输入张量的大小调整为固定大小,而不考虑其原始尺寸。

"自适应"方面是指输出大小是由用户指定的,而不是固定的。这为模型设计提供了更大的灵活性,因为池化操作可以适应不同的输入大小。

以下是AdaptiveAvgPool2d的工作原理:

**输入:**取一个形状为(N, C, H, W)的输入张量,其中N为批大小,C为通道数,H和W分别为输入特征映射的高度和宽度。

**输出大小:**与输出大小由内核大小和步数决定的传统池层不同,在AdaptiveAvgPool2d中,您可以直接指定所需的输出大小。可以将其指定为单个整数output_size(结果为正方形输出)或元组(output_height, output_width)。

**操作:**对于每个通道,AdaptiveAvgPool2d根据输出大小将输入划分为分段网格,然后计算每个分段的平均值。这个平均值成为相应的输出像素。

**输出:**输出张量具有形状(N, C, output_height, output_width)。

示例:

python 复制代码
import torch
import torch.nn as nn

# Input tensor with shape (N, C, H, W)
input_tensor = torch.randn(1, 3, 32, 32)

# Define AdaptiveAvgPool2d layer with output size (output_height, output_width)
adaptive_avg_pool = nn.AdaptiveAvgPool2d((5, 5))

# Apply AdaptiveAvgPool2d
output = adaptive_avg_pool(input_tensor)

print(output.shape)  # Output shape: (1, 3, 5, 5)

在这个例子中,AdaptiveAvgPool2d用于将输入张量的大小调整为(5,5)的固定大小,而不考虑其原始维度。这在构建输入大小变化的模型或在卷积层和完全连接层之间转换时特别有用。

相关推荐
渡我白衣18 分钟前
AI应用层革命(七)——智能体的终极形态:认知循环体的诞生
人工智能·深度学习·神经网络·目标检测·microsoft·机器学习·自然语言处理
Wnq100725 小时前
世界模型 AI:认知跃迁的可行性与本质性挑战
人工智能
穷人小水滴5 小时前
科幻 「备用肉身虫」 系列设定集 (AI 摘要)
人工智能·aigc·科幻·未来·小说·设定
老赵聊算法、大模型备案5 小时前
北京市生成式人工智能服务已备案信息公告(2025年12月11日)
人工智能·算法·安全·aigc
咬人喵喵5 小时前
上下文窗口:AI 的“大脑容量”
人工智能
workflower5 小时前
时序数据获取事件
开发语言·人工智能·python·深度学习·机器学习·结对编程
weixin_446122465 小时前
一个案例验证 LLM大模型编码能力哪家强
人工智能
老蒋新思维6 小时前
创客匠人峰会深度解析:知识变现的 “信任 - 效率” 双闭环 —— 从 “单次交易” 到 “终身复购” 的增长密码
大数据·网络·人工智能·tcp/ip·重构·数据挖掘·创客匠人
java1234_小锋7 小时前
Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 编码器(Encoder)详解以及算法实现
深度学习·语言模型·transformer
大刘讲IT7 小时前
面向中小企业的企业AI Agent未来3年构建蓝图规划
人工智能·经验分享·ai·开源·制造