From 478fab5fa9213952393a6a8510d63686608a844a Mon Sep 17 00:00:00 2001 From: Winters Montagne <118546135+WintersMontagne10335@users.noreply.github.com> Date: Thu, 19 Oct 2023 21:44:58 +0800 Subject: [PATCH 1/7] Create 20231019_api_design_for_lp_pool.md --- rfcs/APIs/20231019_api_design_for_lp_pool.md | 300 +++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 rfcs/APIs/20231019_api_design_for_lp_pool.md diff --git a/rfcs/APIs/20231019_api_design_for_lp_pool.md b/rfcs/APIs/20231019_api_design_for_lp_pool.md new file mode 100644 index 000000000..53879fbfd --- /dev/null +++ b/rfcs/APIs/20231019_api_design_for_lp_pool.md @@ -0,0 +1,300 @@ +# LPPool1D / LPPool2D API 设计文档 + +| API 名称 | LPPool1D / LPPool2D | +| - | - | +| 提交作者 | WintersMontagne10335 | +| 提交时间 | 2023-10-19 | +| 版本号 | V1.0 | +| 依赖飞桨版本 | develop | +| 文件名 | 20231019_api_design_for_lp_pool.md | + +# 一、概述 + +## 1、相关背景 + +平均池化是将输入的图像划分为若干个矩形区域,对每个子区域输出所有元素的平均值。平均池化可以更多保留图像的背景信息。 + +最大池化是将输入的矩阵划分为若干个矩形区域,对每个子区域输出最大值。最大池化可以更多保留图像的纹理信息。 + +幂平均池化是基于平均池化和最大池化的结合,利用一个学习参数p来确定这两种方法的相对重要性。当 p=1 时,等同于累加池化;当 p=∞ 时,等同于最大池化。 + +幂平均池化每个窗口的计算过程: + +![39_1](https://github.com/WintersMontagne10335/doing/assets/118546135/eb928fe6-fff8-4c69-855a-82c933466583) + +## 2、功能目标 + +新增 `LPPool1D / LPPool2D` API。 + +调用形式: +- `paddle.nn.LPPool1D` +- `paddle.nn.LPPool2D` +- `paddle.nn.functional.lp_pool1d` +- `paddle.nn.functional.lp_pool2d` + +## 3、意义 + +为 `Paddle` 增加 `LPPool1D / LPPool2D` ,丰富 `Paddle` 中池化操作相关的 API。 + +# 二、飞桨现状 + +`Paddle` 目前已经提供了平均池化( `AvgPool1d / AvgPool2d / AvgPool3d` )、最大池化( `MaxPool1d / MaxPool2d / MaxPool3d` )等的池化方法。 + +目前 `Paddle` 在 `Python` 端缺少幂平均池化( `LPPool1D / LPPool2D` )相关接口的实现,而在底层也没有相关算子。 + +# 三、业内方案调研 + +## PyTorch + +`Pytorch` 底层并未实现 `LPPool1D / LPPool2D` 对应的Kernel,而是通过在 `Python` 端,基于 `AvgPool1d / AvgPool2d`,组合实现了 API。 + +### API 文档 + +- [torch.nn.LPPool1d(norm_type, kernel_size, stride=None, ceil_mode=False)](https://pytorch.org/docs/stable/generated/torch.nn.LPPool1d.html#lppool1d) + + - sketch + - Applies a 1D power-average pooling over an input signal composed of several input planes + - Note + > If the sum to the power of p is zero, the gradient of this function is not defined. This implementation will set the gradient to zero in this case + + - Parameters + - kernel_size + > a single int, the size of the window + - stride + > a single int, the stride of the window. Default value is kernel_size + - ceil_mode + >when True, will use ceil instead of floor to compute the output shape + +- [torch.nn.LPPool2d(norm_type, kernel_size, stride=None, ceil_mode=False)](https://pytorch.org/docs/stable/generated/torch.nn.LPPool2d.html#lppool2d) + + - sketch + - Applies a 2D power-average pooling over an input signal composed of several input planes + - Note + > If the sum to the power of p is zero, the gradient of this function is not defined. This implementation will set the gradient to zero in this case + + - Parameters + - kernel_size + > the size of the window + - stride + > the stride of the window. Default value is kernel_size + - ceil_mode + > when True, will use ceil instead of floor to compute the output shape + +### 实现逻辑 + +因为 `LPPool1D` 与 `LPPool2D` 实现逻辑基本相同,所以以下仅对 `LPPool1D` 进行分析。 + +#### `Python` 端 + +关键源码 + +- [torch/nn/modules/pooling.py](https://github.com/pytorch/pytorch/blob/main/torch/nn/modules/pooling.py#L891) + +```Python +class _LPPoolNd(Module): + __constants__ = ['norm_type', 'kernel_size', 'stride', 'ceil_mode'] + + norm_type: float + ceil_mode: bool + + def __init__(self, norm_type: float, kernel_size: _size_any_t, stride: Optional[_size_any_t] = None, + ceil_mode: bool = False) -> None: + super().__init__() + self.norm_type = norm_type + self.kernel_size = kernel_size + self.stride = stride + self.ceil_mode = ceil_mode + + def extra_repr(self) -> str: + return 'norm_type={norm_type}, kernel_size={kernel_size}, stride={stride}, ' \ + 'ceil_mode={ceil_mode}'.format(**self.__dict__) + +class LPPool1d(_LPPoolNd): + kernel_size: _size_1_t + stride: _size_1_t + + def forward(self, input: Tensor) -> Tensor: + return F.lp_pool1d(input, float(self.norm_type), self.kernel_size, + self.stride, self.ceil_mode) +``` + +调用了 `torch/nn/functional.py` 中的 `lp_pool1d` 函数。 + +- [torch/nn/functional.py](https://github.com/pytorch/pytorch/blob/main/torch/nn/functional.py#L1050) + +```Python +def lp_pool1d( + input: Tensor, norm_type: Union[int, float], + kernel_size: int, + stride: Optional[BroadcastingList1[int]] = None, + ceil_mode: bool = False +) -> Tensor: + if has_torch_function_unary(input): + return handle_torch_function( + lp_pool1d, (input,), input, norm_type, kernel_size, stride=stride, ceil_mode=ceil_mode + ) + if stride is not None: + out = avg_pool1d(input.pow(norm_type), kernel_size, stride, 0, ceil_mode) + else: + out = avg_pool1d(input.pow(norm_type), kernel_size, padding=0, ceil_mode=ceil_mode) + + return (torch.sign(out) * relu(torch.abs(out))).mul(kernel_size).pow(1.0 / norm_type) +``` + +`LPPool1d` 的公式如下: + +![image](https://github.com/WintersMontagne10335/doing/assets/118546135/14e5652f-521c-4b2c-bda4-7857e481ec34) + +`AVGPool1d` 的公式如下: +![image](https://github.com/WintersMontagne10335/doing/assets/118546135/9927757c-4c50-40aa-9e8a-ac3be01b54b0) + +对比可知,`LPool1d` 开方符号下的部分,是变形的累加池化,而累加池化又可以通过平均池化的结果乘以 `kernel_size` 来实现。所以,`PyTorch` 基于 `AVGPool1d` ,并与 `mul` 等相组合,实现了 `LPool1d` 。 + +#### CPU端 + +`PyTorch` 未实现。 + +#### GPU端 + +`PyTorch` 未实现。 + +## TensorFlow + +`TensorFlow` 未实现该算子。 + +## MXNet + +`MXNet` 未实现该算子。 + +## OneFlow + +`OneFlow` 未实现该算子。 + +# 四、对比分析 + +- 目前,主流深度学习框架仅有 `Pytorch` 实现了该算子。 + +- `Pytorch` 的 `LPPool1d` ,是通过在Python端,基于 `AVGPool1d` 组合实现的。 `Paddle` 的实现也可以沿用这个思路。这里存在一个小问题:[Paddle 的 AvgPool1d 与 PyTorch 的参数不一致](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.AvgPool1d.html),但是并不影响本API的实现。 + +- 组合实现的方式,会对性能有较大的负面影响。针对该算子, `Paddle` 最终应该实现底层 Kernel 。 + +# 五、设计思路与实现方案 + +分两步来实现: + +1. 基于 `AVGPool1d` 组合实现 API ,提交Python 实现代码、单测代码、中文API文档、英文API文档。 +2. 实现底层 Kernel ,提交一个性能优化的 PR 。 + +`本设计文档仅涉及第一部分。不久会补充第二部分的设计文档。` + +## 命名与参数设计 + +添加 python 上层接口: + +- `paddle.nn.functional.lp_pool1d` + + ``` python + paddle.nn.functional.lp_pool1d( + input:Tensor, + norm_type:Union[int, float], + kernel_size:int, + stride:Optional[BroadcastingList1[int]]=None, + ceil_mode:bool=False) + ``` + + |参数名|类型|描述| + |---|---|---| + |input|Tensor|Tensor of input| + |norm_type|Union[int, float]|exponent| + |kernel_size|int|the size of the window| + |stride|Optional[BroadcastingList1[int]]|the stride of the window| + |ceil_mode|bool|when True, will use ceil instead of floor to compute the output shape| + |output|Tensor|Tensor of output| + +- `paddle.nn.LPPool1D` + + 调用 `paddle.nn.functional.lp_pool1d` ,参数与之类似。 + +- `paddle.nn.functional.lp_pool2d` + + ``` python + paddle.nn.functional.lp_pool2d( + input:Tensor, + norm_type:Union[int, float], + kernel_size:BroadcastingList2[int], + stride:Optional[BroadcastingList2[int]]=None, + ceil_mode:bool=False) + ``` + + |参数名|类型|描述| + |---|---|---| + |input|Tensor|Tensor of input| + |norm_type|Union[int, float]|exponent| + |kernel_size|BroadcastingList2[int]|the size of the window| + |stride|Optional[BroadcastingList2[int]]|the stride of the window| + |ceil_mode|bool|when True, will use ceil instead of floor to compute the output shape| + |output|Tensor|Tensor of output| + +- `paddle.nn.LPPool2D` + + 调用 `paddle.nn.functional.lp_pool2d` ,参数与之类似。 + +## 底层 OP 设计 + +本设计文档不涉及。 + +## API实现方案 + +- `paddle.nn.functional.lp_pool1d` + +利用 `Paddle` 已有的 `paddle.nn.functional.avg_pool1d`组合实现。 + +- `paddle.nn.LPPool1D` + +调用 `paddle.nn.functional.lp_pool1d` 实现。 + +- `paddle.nn.functional.lp_pool2d` + +利用 `Paddle` 已有的 `paddle.nn.functional.avg_pool2d`组合实现。 + +- `paddle.nn.LPPool2D` + +调用 `paddle.nn.functional.lp_poo21d` 实现。 + +# 六、测试和验收的考量 + +测试考虑的case如下: + +- **编程范式场景** + 常规覆盖动态图和静态图的测试场景 + +- **硬件场景** + 常规需覆盖 CPU、GPU 两种测试场景 + +- **输出正确性** + 输出数值结果的一致性和数据类型是否正确,使用 PyTorch 作为参考标准 + +- **计算精度** + 需要保证 `前向/后向` 计算的精度正确性,使用 PyTorch 作为参考标准 + +- **维度测试** + 需要测试 `1d / 2d` 两类接口 + +# 七、可行性分析及规划排期 + +最晚下周末完成第一阶段的工作。 + +# 八、影响面 + +新增 API,对其他模块无影响。 + +# 名词解释 + +无 + +# 附件及参考资料 + +- [torch.nn.functional.lp_pool1d](https://pytorch.org/docs/stable/generated/torch.nn.functional.lp_pool1d.html) +- [torch.nn.LPPool1d](https://pytorch.org/docs/stable/generated/torch.nn.LPPool1d.html#lppool1d) +- [torch.nn.functional.lp_pool2d](https://pytorch.org/docs/stable/generated/torch.nn.functional.lp_pool2d.html) +- [torch.nn.LPPool2d](https://pytorch.org/docs/stable/generated/torch.nn.LPPool2d.html) From a00968124184acd99d9a07593223881eb49ef1f5 Mon Sep 17 00:00:00 2001 From: Winters Montagne <118546135+WintersMontagne10335@users.noreply.github.com> Date: Mon, 13 Nov 2023 23:22:40 +0800 Subject: [PATCH 2/7] Add files via upload --- rfcs/APIs/image/img_LPPool_0.png | Bin 0 -> 3611 bytes rfcs/APIs/image/img_LPPool_1.png | Bin 0 -> 2131 bytes rfcs/APIs/image/img_LPPool_2.png | Bin 0 -> 3064 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 rfcs/APIs/image/img_LPPool_0.png create mode 100644 rfcs/APIs/image/img_LPPool_1.png create mode 100644 rfcs/APIs/image/img_LPPool_2.png diff --git a/rfcs/APIs/image/img_LPPool_0.png b/rfcs/APIs/image/img_LPPool_0.png new file mode 100644 index 0000000000000000000000000000000000000000..e39f0eec6ca1952b4105fcf443f607bbcaa74176 GIT binary patch literal 3611 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 literal 0 HcmV?d00001 diff --git a/rfcs/APIs/image/img_LPPool_1.png b/rfcs/APIs/image/img_LPPool_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7972ea7805e9b3fd89172dac4bd3f06480e2a1 GIT binary patch literal 2131 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

-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 TzDmCQ=&AH{;MyNF9U}h&MF;|< literal 0 HcmV?d00001 From 01b0a5168143cd12fde990787dbcdb511796c593 Mon Sep 17 00:00:00 2001 From: Winters Montagne <118546135+WintersMontagne10335@users.noreply.github.com> Date: Mon, 13 Nov 2023 23:28:26 +0800 Subject: [PATCH 3/7] Update 20231019_api_design_for_lp_pool.md --- rfcs/APIs/20231019_api_design_for_lp_pool.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rfcs/APIs/20231019_api_design_for_lp_pool.md b/rfcs/APIs/20231019_api_design_for_lp_pool.md index 53879fbfd..ce331b35d 100644 --- a/rfcs/APIs/20231019_api_design_for_lp_pool.md +++ b/rfcs/APIs/20231019_api_design_for_lp_pool.md @@ -20,7 +20,7 @@ 幂平均池化每个窗口的计算过程: -![39_1](https://github.com/WintersMontagne10335/doing/assets/118546135/eb928fe6-fff8-4c69-855a-82c933466583) +![img_LPPool_0.png](image/img_LPPool_0.png) ## 2、功能目标 @@ -143,10 +143,11 @@ def lp_pool1d( `LPPool1d` 的公式如下: -![image](https://github.com/WintersMontagne10335/doing/assets/118546135/14e5652f-521c-4b2c-bda4-7857e481ec34) +![img_LPPool_1.png](image/img_LPPool_1.png) `AVGPool1d` 的公式如下: -![image](https://github.com/WintersMontagne10335/doing/assets/118546135/9927757c-4c50-40aa-9e8a-ac3be01b54b0) + +![img_LPPool_2.png](image/img_LPPool_2.png) 对比可知,`LPool1d` 开方符号下的部分,是变形的累加池化,而累加池化又可以通过平均池化的结果乘以 `kernel_size` 来实现。所以,`PyTorch` 基于 `AVGPool1d` ,并与 `mul` 等相组合,实现了 `LPool1d` 。 From 22790f4e1ee9a35836b65ce38605411d6f527d02 Mon Sep 17 00:00:00 2001 From: Winters Montagne <118546135+WintersMontagne10335@users.noreply.github.com> Date: Mon, 13 Nov 2023 23:30:13 +0800 Subject: [PATCH 4/7] Add files via upload --- rfcs/APIs/image/img_LPPool_1.png | Bin 2131 -> 4523 bytes rfcs/APIs/image/img_LPPool_2.png | Bin 3064 -> 8533 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/rfcs/APIs/image/img_LPPool_1.png b/rfcs/APIs/image/img_LPPool_1.png index ae7972ea7805e9b3fd89172dac4bd3f06480e2a1..3ab7c163afddaeccfa9181e4832e8fbfde922fba 100644 GIT binary patch literal 4523 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 DND+A_ literal 2131 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

-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 TzDmCQ=&AH{;MyNF9U}h&MF;|< From 3d26bbaf28d538352aa4c8ebed3d193e8a5102d6 Mon Sep 17 00:00:00 2001 From: Winters Montagne <118546135+WintersMontagne10335@users.noreply.github.com> Date: Mon, 13 Nov 2023 23:31:34 +0800 Subject: [PATCH 5/7] Delete rfcs/APIs/image/img_LPPool_1.png --- rfcs/APIs/image/img_LPPool_1.png | Bin 4523 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 rfcs/APIs/image/img_LPPool_1.png diff --git a/rfcs/APIs/image/img_LPPool_1.png b/rfcs/APIs/image/img_LPPool_1.png deleted file mode 100644 index 3ab7c163afddaeccfa9181e4832e8fbfde922fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4523 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 DND+A_ From 00d4f5cb55294985f2efc6679f630809b673fcd6 Mon Sep 17 00:00:00 2001 From: Winters Montagne <118546135+WintersMontagne10335@users.noreply.github.com> Date: Mon, 13 Nov 2023 23:31:43 +0800 Subject: [PATCH 6/7] Delete rfcs/APIs/image/img_LPPool_2.png --- rfcs/APIs/image/img_LPPool_2.png | Bin 8533 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 rfcs/APIs/image/img_LPPool_2.png diff --git a/rfcs/APIs/image/img_LPPool_2.png b/rfcs/APIs/image/img_LPPool_2.png deleted file mode 100644 index ebea598088d69671c3ce6bd5e5912333c6b3aca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8533 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 J3UQ;r{{b%|h Date: Mon, 13 Nov 2023 23:32:03 +0800 Subject: [PATCH 7/7] Add files via upload --- rfcs/APIs/image/img_LPPool_1.png | Bin 0 -> 4523 bytes rfcs/APIs/image/img_LPPool_2.png | Bin 0 -> 8533 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 rfcs/APIs/image/img_LPPool_1.png create mode 100644 rfcs/APIs/image/img_LPPool_2.png diff --git a/rfcs/APIs/image/img_LPPool_1.png b/rfcs/APIs/image/img_LPPool_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3ab7c163afddaeccfa9181e4832e8fbfde922fba GIT binary patch literal 4523 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 DND+A_ literal 0 HcmV?d00001 diff --git a/rfcs/APIs/image/img_LPPool_2.png b/rfcs/APIs/image/img_LPPool_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ebea598088d69671c3ce6bd5e5912333c6b3aca8 GIT binary patch literal 8533 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 J3UQ;r{{b%|h