Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
db641bea
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
db641bea
编写于
8月 27, 2020
作者:
B
Bai Yifan
提交者:
GitHub
8月 27, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add 1d pooling series doc (#2414)
* add 1d pooling
上级
c9bb973b
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
485 addition
and
0 deletion
+485
-0
doc/fluid/api_cn/nn_cn.rst
doc/fluid/api_cn/nn_cn.rst
+4
-0
doc/fluid/api_cn/nn_cn/AdaptiveAvgPool1d_cn.rst
doc/fluid/api_cn/nn_cn/AdaptiveAvgPool1d_cn.rst
+66
-0
doc/fluid/api_cn/nn_cn/AdaptiveMaxPool1d_cn.rst
doc/fluid/api_cn/nn_cn/AdaptiveMaxPool1d_cn.rst
+72
-0
doc/fluid/api_cn/nn_cn/AvgPool1d_cn.rst
doc/fluid/api_cn/nn_cn/AvgPool1d_cn.rst
+59
-0
doc/fluid/api_cn/nn_cn/MaxPool1d_cn.rst
doc/fluid/api_cn/nn_cn/MaxPool1d_cn.rst
+62
-0
doc/fluid/api_cn/nn_cn/functional_cn.rst
doc/fluid/api_cn/nn_cn/functional_cn.rst
+4
-0
doc/fluid/api_cn/nn_cn/functional_cn/adaptive_avg_pool1d_cn.rst
...uid/api_cn/nn_cn/functional_cn/adaptive_avg_pool1d_cn.rst
+54
-0
doc/fluid/api_cn/nn_cn/functional_cn/adaptive_max_pool1d_cn.rst
...uid/api_cn/nn_cn/functional_cn/adaptive_max_pool1d_cn.rst
+55
-0
doc/fluid/api_cn/nn_cn/functional_cn/avg_pool1d_cn.rst
doc/fluid/api_cn/nn_cn/functional_cn/avg_pool1d_cn.rst
+53
-0
doc/fluid/api_cn/nn_cn/functional_cn/max_pool1d_cn.rst
doc/fluid/api_cn/nn_cn/functional_cn/max_pool1d_cn.rst
+56
-0
未找到文件。
doc/fluid/api_cn/nn_cn.rst
浏览文件 @
db641bea
...
@@ -189,4 +189,8 @@ paddle.nn
...
@@ -189,4 +189,8 @@ paddle.nn
nn_cn/ZeroPad2d_cn.rst
nn_cn/ZeroPad2d_cn.rst
nn_cn/AdaptiveAvgPool2d_cn.rst
nn_cn/AdaptiveAvgPool2d_cn.rst
nn_cn/AdaptiveAvgPool3d_cn.rst
nn_cn/AdaptiveAvgPool3d_cn.rst
nn_cn/AdaptiveAvgPool1d_cn.rst
nn_cn/AdaptiveMaxPool1d_cn.rst
nn_cn/AvgPool1d_cn.rst
nn_cn/MaxPool1d_cn.rst
nn_cn/Bilinear_cn.rst
nn_cn/Bilinear_cn.rst
doc/fluid/api_cn/nn_cn/AdaptiveAvgPool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_AdaptiveAvgPool1d:
AdaptiveAvgPool1d
-------------------------------
.. py:function:: paddle.nn.AdaptiveAvgPool1d(output_size, name=None)
该算子根据输入 `x` , `output_size` 等参数对一个输入Tensor计算1D的自适应平均池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度.
计算公式如下:
.. math::
lstart &= floor(i * L_{in} / L_{out})
lend &= ceil((i + 1) * L_{in} / L_{out})
Output(i) &= \frac{sum(Input[lstart:lend])}{(lstart - lend)}
参数
:::::::::
- **output_size** (int|list|tuple): 算子输出特征图的长度,其数据类型为int,list或tuple。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状
:::::::::
- **x** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型为float32或者float64。
- **output** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型与输入x相同。
返回
:::::::::
计算AdaptiveAvgPool1d的可调用对象
抛出异常
:::::::::
- ``ValueError`` - ``output_size`` 应是一个整数或长度为1的list,tuple
代码示例
:::::::::
.. code-block:: python
# average adaptive pool1d
# suppose input data in shape of [N, C, L], `output_size` is m or [m],
# output shape is [N, C, m], adaptive pool divide L dimension
# of input data into m grids averagely and performs poolings in each
# grid to get output.
# adaptive avg pool performs calculations as follow:
#
# for i in range(m):
# lstart = floor(i * L / m)
# lend = ceil((i + 1) * L / m)
# output[:, :, i] = sum(input[:, :, lstart: lend])/(lstart - lend)
#
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
AdaptiveAvgPool1d = nn.layer.AdaptiveAvgPool1d(output_size=16)
pool_out = AdaptiveAvgPool1d(data)
# pool_out shape: [1, 3, 16]
doc/fluid/api_cn/nn_cn/AdaptiveMaxPool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_AdaptiveMaxPool1d:
AdaptiveMaxPool1d
-------------------------------
.. py:function:: paddle.nn.AdaptiveMaxPool1d(output_size, return_indices=False, name=None)
该算子根据输入 `x` , `output_size` 等参数对一个输入Tensor计算1D的自适应平均池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度.
计算公式如下:
.. math::
lstart &= floor(i * L_{in} / L_{out})
lend &= ceil((i + 1) * L_{in} / L_{out})
Output(i) &= max(Input[lstart:lend])
参数
:::::::::
- **output_size** (int|list|tuple): 算子输出特征图的长度,其数据类型为int,list或tuple。
- **return_indices** (bool): 如果设置为True,则会与输出一起返回最大值的索引,默认为False。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状
:::::::::
- **x** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型为float32或者float64。
- **output** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型与输入x相同。
返回
:::::::::
计算AdaptiveMaxPool1d的可调用对象
抛出异常
:::::::::
- ``ValueError`` - ``output_size`` 应是一个整数或长度为1的list,tuple
代码示例
:::::::::
.. code-block:: python
# max adaptive pool1d
# suppose input data in shape of [N, C, L], `output_size` is m or [m],
# output shape is [N, C, m], adaptive pool divide L dimension
# of input data into m grids averagely and performs poolings in each
# grid to get output.
# adaptive max pool performs calculations as follow:
#
# for i in range(m):
# lstart = floor(i * L / m)
# lend = ceil((i + 1) * L / m)
# output[:, :, i] = max(input[:, :, lstart: lend])
#
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
AdaptiveMaxPool1d = nn.layer.AdaptiveMaxPool1d(output_size=16)
pool_out = AdaptiveMaxPool1d(data)
# pool_out shape: [1, 3, 16]
# for return_indices = true
AdaptiveMaxPool1d = nn.layer.AdaptiveMaxPool1d(output_size=16, return_indices=True)
pool_out, indices = AdaptiveMaxPool1d(data)
# pool_out shape: [1, 3, 16], indices shape: [1, 3, 16]
doc/fluid/api_cn/nn_cn/AvgPool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_AvgPool1d:
AvgPool1d
-------------------------------
.. py:function:: paddle.nn.AvgPool1d(kernel_size, stride=None, padding=0, count_include_pad=True, ceil_mode=False, name=None)
该算子根据输入 `x` , `kernel_size` 等参数对一个输入Tensor计算1D的平均池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度。
假设输入形状是(N, C, L),输出形状是 (N, C, L_{out}),卷积核尺寸是k, 1d平均池化计算公式如下:
.. math::
Output(N_i, C_i, l) = mean(Input[N_i, C_i, stride \times l:stride \times l+k])
参数
:::::::::
- **kernel_size** (int|list|tuple): 池化核的尺寸大小. 如果kernel_size为list或tuple类型, 其必须包含一个整数, 最终池化核的大小为该数值。
- **stride** (int|list|tuple): 池化操作步长. 如果stride为list或tuple类型, 其必须包含一个整数,最终池化操作的步长为该数值。
- **padding** (string|int|list|tuple): 池化补零的方式. 如果padding是一个字符串,则必须为 `SAME` 或者 `VALID` 。如果是turple或者list类型, 则应是 `[pad_left, pad_right]` 形式。如果padding是一个非0值,那么表示会在输入的两端都padding上同样长度的0。
- **count_include_pad** (bool): 是否用额外padding的值计算平均池化结果,默认为True。
- **ceil_mode** (bool): 是否用ceil函数计算输出的height和width,如果设置为False, 则使用floor函数来计算,默认为False。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状
:::::::::
- **x** (Tensor): 默认形状为(批大小,通道数,长度),即NCL格式的3-D Tensor。 其数据类型为float32或float64.
- **output** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型与输入x相同。
返回
:::::::::
计算AvgPool1d的可调用对象
抛出异常
:::::::::
- ``ValueError`` - 如果 ``padding`` 是字符串但不是 "SAME" 和 "VALID" 。
- ``ValueError`` - 如果 ``padding`` 是 "VALID" 但 `ceil_mode` 被设置为True。
- ``ValueError`` - 如果 ``padding`` 是一个长度大于1的list或turple。
- ``ShapeError`` - 如果输入x不是一个3-D Tensor。
- ``ShapeError`` - 如果计算得到的输出形状小于等于0。
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
AvgPool1d = nn.layer.AvgPool1d(kernel_size=2, stride=2, padding=0)
pool_out = AvgPool1d(data)
# pool_out shape: [1, 3, 16]
doc/fluid/api_cn/nn_cn/MaxPool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_MaxPool1d:
MaxPool1d
-------------------------------
.. py:function:: paddle.nn.MaxPool1d(kernel_size, stride=None, padding=0, return_indices=False, ceil_mode=False, name=None)
该算子根据输入 `x` , `kernel_size` 等参数对一个输入Tensor计算1D的最大值池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度。
假设输入形状是(N, C, L),输出形状是 (N, C, L_{out}),卷积核尺寸是k, 1d最大值池化计算公式如下:
.. math::
Output(N_i, C_i, l) = max(Input[N_i, C_i, stride \times l:stride \times l+k])
参数
:::::::::
- **kernel_size** (int|list|tuple): 池化核的尺寸大小. 如果kernel_size为list或tuple类型, 其必须包含一个整数, 最终池化核的大小为该数值。
- **stride** (int|list|tuple): 池化操作步长. 如果stride为list或tuple类型, 其必须包含一个整数,最终池化操作的步长为该数值。
- **padding** (string|int|list|tuple): 池化补零的方式. 如果padding是一个字符串,则必须为 `SAME` 或者 `VALID` 。 如果是turple或者list类型, 则应是 `[pad_left, pad_right]` 形式。如果padding是一个非0值,那么表示会在输入的两端都padding上同样长度的0。
- **return_indices** (bool): 是否返回最大值的索引,默认为False。
- **ceil_mode** (bool): 是否用ceil函数计算输出的height和width,如果设置为False, 则使用floor函数来计算,默认为False。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
形状
:::::::::
- **x** (Tensor): 默认形状为(批大小,通道数,长度),即NCL格式的3-D Tensor。 其数据类型为float32或float64.
- **output** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型与输入x相同。
返回
:::::::::
计算MaxPool1d的可调用对象
抛出异常
:::::::::
- ``ValueError`` - 如果 ``padding`` 是字符串但不是 "SAME" 和 "VALID" 。
- ``ValueError`` - 如果 ``padding`` 是 "VALID" 但 `ceil_mode` 被设置为True。
- ``ValueError`` - 如果 ``padding`` 是一个长度大于1的list或turple。
- ``ShapeError`` - 如果输入x不是一个3-D Tensor。
- ``ShapeError`` - 如果计算得到的输出形状小于等于0。
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.nn as nn
import numpy as np
paddle.disable_static()
data = paddle.to_variable(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
MaxPool1d = nn.layer.MaxPool1d(kernel_size=2, stride=2, padding=0)
pool_out = MaxPool1d(data)
# pool_out shape: [1, 3, 16]
MaxPool1d = nn.layer.MaxPool1d(kernel_size=2, stride=2, padding=0, return_indices=True)
pool_out, indices = MaxPool1d(data)
# pool_out shape: [1, 3, 16], indices shape: [1, 3, 16]
doc/fluid/api_cn/nn_cn/functional_cn.rst
浏览文件 @
db641bea
...
@@ -24,5 +24,9 @@ functional
...
@@ -24,5 +24,9 @@ functional
functional_cn/adaptive_avg_pool2d_cn.rst
functional_cn/adaptive_avg_pool2d_cn.rst
functional_cn/adaptive_avg_pool3d_cn.rst
functional_cn/adaptive_avg_pool3d_cn.rst
functional_cn/sigmoid_cn.rst
functional_cn/sigmoid_cn.rst
functional_cn/adaptive_avg_pool1d_cn.rst
functional_cn/adaptive_max_pool1d_cn.rst
functional_cn/avg_pool1d_cn.rst
functional_cn/max_pool1d_cn.rst
functional_cn/cross_entropy_loss_cn.rst
functional_cn/cross_entropy_loss_cn.rst
functional_cn/bilinear_cn.rst
functional_cn/bilinear_cn.rst
doc/fluid/api_cn/nn_cn/functional_cn/adaptive_avg_pool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_functional_adaptive_avg_pool1d:
adaptive_avg_pool1d
-------------------------------
.. py:function:: paddle.nn.functional.adaptive_avg_pool1d(x, output_size, name=None)
该算子根据输入 `x` , `output_size` 等参数对一个输入Tensor计算1D的自适应平均池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度.
.. note::
详细请参考对应的 `Class` 请参考: :ref:`cn_api_nn_AdaptiveAvgPool1d` 。
参数
:::::::::
- **x** (Tensor): 当前算子的输入, 其是一个形状为 `[N, C, L]` 的3-D Tensor。其中 `N` 是batch size, `C` 是通道数, `L` 是输入特征的长度。 其数据类型为float32或者float64。
- **output_size** (int|list|tuple): 算子输出特征图的长度,其数据类型为int或list, tuple。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
:::::::::
``Tensor``, 输入 `x` 经过自适应池化计算得到的目标3-D Tensor,其数据类型与输入相同。
抛出异常
:::::::::
- ``ValueError`` - ``output_size`` 应是一个整数或长度为1的list,tuple
代码示例
:::::::::
.. code-block:: python
# average adaptive pool1d
# suppose input data in shape of [N, C, L], `output_size` is m,
# output shape is [N, C, m], adaptive pool divide L dimension
# of input data into m grids averagely and performs poolings in each
# grid to get output.
# adaptive avg pool performs calculations as follow:
#
# for i in range(m):
# lstart = floor(i * L / m)
# lend = ceil((i + 1) * L / m)
# output[:, :, i] = sum(input[:, :, lstart: lend])/(lstart - lend)
#
import paddle
import paddle.nn.functional as F
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
pool_out = F.adaptive_avg_pool1d(data, output_size=16)
# pool_out shape: [1, 3, 16])
doc/fluid/api_cn/nn_cn/functional_cn/adaptive_max_pool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_functional_adaptive_max_pool1d:
adaptive_max_pool1d
-------------------------------
.. py:function:: paddle.nn.functional.adaptive_max_pool1d(x, output_size, return_indices=False, name=None)
该算子根据输入 `x` , `output_size` 等参数对一个输入Tensor计算1D的自适应最大值池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度.
.. note::
详细请参考对应的 `Class` 请参考: :ref:`cn_api_nn_AdaptiveMaxPool1d` 。
参数
:::::::::
- **x** (Tensor): 当前算子的输入, 其是一个形状为 `[N, C, L]` 的3-D Tensor。其中 `N` 是batch size, `C` 是通道数, `L` 是输入特征的长度。 其数据类型为float32或者float64。
- **output_size** (int|list|tuple): 算子输出特征图的长度,其数据类型为int或list,tuple。
- **return_indices** (bool): 如果设置为True,则会与输出一起返回最大值的索引,默认为False。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
:::::::::
``Tensor``, 输入 `x` 经过自适应池化计算得到的目标3-D Tensor,其数据类型与输入相同。
抛出异常
:::::::::
- ``ValueError`` - 如果 ``output_size`` 不是int类型值。
代码示例
:::::::::
.. code-block:: python
# max adaptive pool1d
# suppose input data in shape of [N, C, L], `output_size` is m,
# output shape is [N, C, m], adaptive pool divide L dimension
# of input data into m grids averagely and performs poolings in each
# grid to get output.
# adaptive max pool performs calculations as follow:
#
# for i in range(m):
# lstart = floor(i * L / m)
# lend = ceil((i + 1) * L / m)
# output[:, :, i] = max(input[:, :, lstart: lend])
#
import paddle
import paddle.nn.functional as F
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
pool_out = F.adaptive_max_pool1d(data, output_size=16)
# pool_out shape: [1, 3, 16])
doc/fluid/api_cn/nn_cn/functional_cn/avg_pool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_functional_avg_pool1d:
avg_pool1d
-------------------------------
.. py:function:: paddle.nn.functional.avg_pool1d(x, kernel_size, stride=None, padding=0, count_include_pad=True, ceil_mode=False, name=None)
该算子根据输入 `x` , `kernel_size` 等参数对一个输入Tensor计算1D的平均池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度。
.. note::
详细请参考对应的 `Class` 请参考: :ref:`cn_api_nn_AvgPool1d` 。
参数
:::::::::
- **x** (Tensor): 当前算子的输入, 其是一个形状为 `[N, C, L]` 的3-D Tensor。其中 `N` 是batch size, `C` 是通道数, `L` 是输入特征的长度。 其数据类型为float32或者float64。
- **kernel_size** (int|list|tuple): 池化核的尺寸大小. 如果kernel_size为list或tuple类型, 其必须包含一个整数.
- **stride** (int|list|tuple): 池化操作步长. 如果stride为list或tuple类型, 其必须包含一个整数.
- **padding** (string|int|list|tuple): 池化补零的方式. 如果padding是一个字符串,则必须为 `SAME` 或者 `VALID` 。 如果是turple或者list类型, 则应是 `[pad_left, pad_right]` 形式。如果padding是一个非0值,那么表示会在输入的两端都padding上同样长度的0。
- **count_include_pad** (bool): 是否用额外padding的值计算平均池化结果,默认为True。
- **ceil_mode** (bool): 是否用ceil函数计算输出的height和width,如果设置为False, 则使用floor函数来计算,默认为False。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
:::::::::
``Tensor``, 输入 `x` 经过平均池化计算得到的目标3-D Tensor,其数据类型与输入相同。
抛出异常
:::::::::
- ``ValueError`` - 如果 ``padding`` 是字符串但不是 "SAME" 和 "VALID" 。
- ``ValueError`` - 如果 ``padding`` 是 "VALID" 但 `ceil_mode` 被设置为True。
- ``ValueError`` - 如果 ``padding`` 是一个长度大于1的list或turple。
- ``ShapeError`` - 如果输入x不是一个3-D Tensor。
- ``ShapeError`` - 如果计算得到的输出形状小于等于0。
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.nn.functional as F
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
pool_out = F.avg_pool1d(data, kernel_size=2, stride=2, padding=0)
# pool_out shape: [1, 3, 16]
doc/fluid/api_cn/nn_cn/functional_cn/max_pool1d_cn.rst
0 → 100755
浏览文件 @
db641bea
.. _cn_api_nn_functional_max_pool1d:
max_pool1d
-------------------------------
.. py:function:: paddle.nn.functional.max_pool1d(x, kernel_size, stride=None, padding=0, return_indices=False, ceil_mode=False, name=None)
该算子根据输入 `x` , `kernel_size` 等参数对一个输入Tensor计算1D的最大值池化。输入和输出都是3-D Tensor,
默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度。
.. note::
详细请参考对应的 `Class` 请参考: :ref:`cn_api_nn_MaxPool1d` 。
参数
:::::::::
- **x** (Tensor): 当前算子的输入, 其是一个形状为 `[N, C, L]` 的3-D Tensor。其中 `N` 是batch size, `C` 是通道数, `L` 是输入特征的长度。 其数据类型为float32或者float64。
- **kernel_size** (int|list|tuple): 池化核的尺寸大小. 如果kernel_size为list或tuple类型, 其必须包含一个整数.
- **stride** (int|list|tuple): 池化操作步长. 如果stride为list或tuple类型, 其必须包含一个整数.
- **padding** (string|int|list|tuple): 池化补零的方式. 如果padding是一个字符串,则必须为 `SAME` 或者 `VALID` 。如果是turple或者list类型, 则应是 `[pad_left, pad_right]` 形式。如果padding是一个非0值,那么表示会在输入的两端都padding上同样长度的0。
- **return_indices** (bool): 是否返回最大值的索引,默认为False。
- **ceil_mode** (bool): 是否用ceil函数计算输出的height和width,如果设置为False, 则使用floor函数来计算,默认为False。
- **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。
返回
:::::::::
``Tensor``, 输入 `x` 经过最大值池化计算得到的目标3-D Tensor,其数据类型与输入相同。
抛出异常
:::::::::
- ``ValueError`` - 如果 ``padding`` 是字符串但不是 "SAME" 和 "VALID" 。
- ``ValueError`` - 如果 ``padding`` 是 "VALID" 但 `ceil_mode` 被设置为True。
- ``ValueError`` - 如果 ``padding`` 是一个长度大于1的list或turple。
- ``ShapeError`` - 如果输入x不是一个3-D Tensor。
- ``ShapeError`` - 如果计算得到的输出形状小于等于0。
代码示例
:::::::::
.. code-block:: python
import paddle
import paddle.nn.functional as F
import numpy as np
paddle.disable_static()
data = paddle.to_tensor(np.random.uniform(-1, 1, [1, 3, 32]).astype(np.float32))
pool_out = F.max_pool1d(data, kernel_size=2, stride=2, padding=0)
# pool_out shape: [1, 3, 16]
pool_out, indices = F.max_pool1d(data, kernel_size=2, stride=2, padding=0, return_indices=True)
# pool_out shape: [1, 3, 16], indices shape: [1, 3, 16]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录