PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.09k stars 5.55k forks source link

paddle.nn.MaxPool2D没有实现dilation参数 #65001

Open LouisChenB opened 3 months ago

LouisChenB commented 3 months ago

需求描述 Feature Description

引入dilation在Maxpool2d中可以扩展池化操作的感受野,在保持相同池化窗口尺寸的情况下,覆盖更大的输入区域。 假设一个3x3的池化窗口,普通池化的感受野覆盖的区域是3x3。而如果使用dilation=2的池化操作,相当于在池化窗口之间插入一个空隙,这样3x3的池化窗口的感受野可以扩展为5x5,让池化操作能够捕捉到更大范围内的信息,提取到更丰富的特征,更好地处理稀疏特征,同时不会显著提升计算量。

import torch
import torch.nn as nn

maxpool = nn.MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=2)
input = torch.randn(1, 1, 7, 7)  # Batch size = 1, Channels = 1, Height = 7, Width = 7
output = maxpool(input)
print(output.shape)

替代实现 Alternatives

No response

LiYuRio commented 3 months ago

你好,Maxpool2d相比于pytorch确实没有dilation这个参数,后续会反馈给api相关负责同学,感谢反馈