【pytorch】torch.nn.MaxPool2d详解与尺寸计算

torch.nn.MaxPool2d

功能:
MaxPool 最大池化层,池化层在卷积神经网络中的作用在于特征融合和降维。池化也是一种类似的卷积操作,只是池化层的所有参数都是超参数,是学习不到的。

作用:
maxpooling有局部不变性而且可以提取显著特征的同时降低模型的参数,从而降低模型的过拟合。只提取了显著特征,而舍弃了不显著的信息,是的模型的参数减少了,从而一定程度上可以缓解过拟合的产生。

函数原型:

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

参数:
kernel_size:表示做最大池化的窗口大小,可以是单个值,也可以是tuple元组
stride:步长,可以是单个值,也可以是tuple元组
padding:填充,可以是单个值,也可以是tuple元组
dilation:控制窗口中元素步幅
return_indices :布尔类型,返回最大值位置索引
ceil_mode :布尔类型,为True,用向上取整的方法,计算输出形状;默认是向下取整

尺寸变化计算:

H垂直方向:

out = (in+2xpadding[0]-dilation[0]x(kernel_size[0]-1)-1)/stride[0]+1

W水平方向:

out = (in+2xpadding[1]-dilation[1]x(kernel_size[1]-1)-1)/stride[1]+1
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
torch.nn.ConvTranspose2dPyTorch中的一个函数,用于执行二维转置卷积操作。它具有多个参数,包括输入通道数(in_channels)、输出通道数(out_channels)、卷积核大小(kernel_size)、步长(stride)、填充(padding)、输出填充(output_padding)等等。你可以在官方文档中找到更详细的参数介绍和函数用法。 需要注意的是,torch.nn.ConvTranspose2dtorch.nn.Conv2d默认的权重排布方式是不同的。在进行反卷积操作之前,需要对权重进行重新排布,然后再进行常规的卷积操作。你可以通过一些函数来实现将反卷积操作转换为插值和卷积两步操作的方式。 具体操作流程如下: 1. 进行插值操作(根据需要进行插值,可以选择不进行插值操作) 2. 执行卷积操作(使用转置后的权重进行卷积) 3. 如果需要,可以将反卷积转换为卷积操作,重新排布权重,然后进行常规的卷积操作。 你可以参考上述代码示例来进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [反卷积torch.nn.ConvTranspose2d详解(含转换成卷积运算的代码示例)](https://blog.csdn.net/cc__cc__/article/details/121444692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值