|
4 | 4 | AdaptiveAvgPool1D |
5 | 5 | ------------------------------- |
6 | 6 |
|
7 | | -.. py:function:: paddle.nn.AdaptiveAvgPool1D(output_size, name=None) |
| 7 | +.. py:class:: paddle.nn.AdaptiveAvgPool1D(output_size, name=None) |
8 | 8 |
|
9 | | -该算子根据输入 `x` , `output_size` 等参数对一个输入Tensor计算1D的自适应平均池化。输入和输出都是3-D Tensor, |
10 | | -默认是以 `NCL` 格式表示的,其中 `N` 是 batch size, `C` 是通道数, `L` 是输入特征的长度. |
| 9 | +根据 ``output_size`` 对一个输入 Tensor 计算 1D 的自适应平均池化。输入和输出都是以 NCL 格式表示的 3-D Tensor,其中 N 是批大小,C 是通道数而 L 是特征的长度。输出的形状是 :math:`[N, C, output\_size]`。 |
11 | 10 |
|
12 | | -计算公式如下: |
| 11 | +计算公式为 |
13 | 12 |
|
14 | 13 | .. math:: |
15 | 14 |
|
16 | | - lstart &= floor(i * L_{in} / L_{out}) |
| 15 | + lstart &= \lfloor i * L_{in} / L_{out}\rfloor, |
17 | 16 |
|
18 | | - lend &= ceil((i + 1) * L_{in} / L_{out}) |
| 17 | + lend &= \lceil(i + 1) * L_{in} / L_{out}\rceil, |
19 | 18 |
|
20 | | - Output(i) &= \frac{\sum Input[lstart:lend]}{lend - lstart} |
| 19 | + Output(i) &= \frac{\sum Input[lstart:lend]}{lend - lstart}. |
21 | 20 |
|
22 | 21 |
|
23 | 22 | 参数 |
24 | 23 | ::::::::: |
25 | | - - **output_size** (int): 算子输出特征图的长度,其数据类型为int。 |
26 | | - - **name** (str,可选): 操作的名称(可选,默认值为None)。更多信息请参见 :ref:`api_guide_Name`。 |
27 | | - |
28 | | -形状 |
29 | | -::::::::: |
30 | | - - **x** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型为float32或者float64。 |
31 | | - - **output** (Tensor): 默认形状为(批大小,通道数,输出特征长度),即NCL格式的3-D Tensor。 其数据类型与输入x相同。 |
| 24 | + - **output_size** (int) - 输出特征的长度,数据类型为 int。 |
| 25 | + - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 |
32 | 26 |
|
33 | 27 | 返回 |
34 | 28 | ::::::::: |
35 | | -计算AdaptiveAvgPool1D的可调用对象 |
| 29 | +用于计算 1D 自适应平均池化的可调用对象。 |
36 | 30 |
|
37 | 31 |
|
38 | 32 | 代码示例 |
39 | 33 | ::::::::: |
40 | | - |
41 | | -.. code-block:: python |
42 | | -
|
43 | | - # average adaptive pool1d |
44 | | - # suppose input data in shape of [N, C, L], `output_size` is m or [m], |
45 | | - # output shape is [N, C, m], adaptive pool divide L dimension |
46 | | - # of input data into m grids averagely and performs poolings in each |
47 | | - # grid to get output. |
48 | | - # adaptive avg pool performs calculations as follow: |
49 | | - # |
50 | | - # for i in range(m): |
51 | | - # lstart = floor(i * L / m) |
52 | | - # lend = ceil((i + 1) * L / m) |
53 | | - # output[:, :, i] = sum(input[:, :, lstart: lend])/lend - lstart) |
54 | | - # |
55 | | - import paddle |
56 | | - import paddle.nn as nn |
57 | | -
|
58 | | - |
59 | | - data = paddle.to_tensor(paddle.uniform(shape = [1, 3, 32], min = -1, max = 1, dtype = "float32")) |
60 | | - AdaptiveAvgPool1D = nn.layer.AdaptiveAvgPool1D(output_size=16) |
61 | | - pool_out = AdaptiveAvgPool1D(data) |
62 | | - # pool_out shape: [1, 3, 16] |
| 34 | +COPY-FROM: paddle.nn.AdaptiveAvgPool1D:AdaptiveAvgPool1D-example |
0 commit comments