---
title: AveragePool
description: "对输入Tensor进行平均池化操作。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/aolapi/atlasoxol_09_0022.html
sourcePath: /source/zh/canncommercial/900/API/aolapi/atlasoxol_09_0022.html
indexId: b73973ccade22fb60aead1be678895d483c540e5863c3e3bdc158ae2f2aed81863
---
# AveragePool

#### 功能

对输入Tensor进行平均池化操作。


#### 输入

X：输入Tensor，数据类型支持float16、float，格式为NCHW，数据格式支持ND。


#### 属性

auto_pad（可选）：支持NOTSET、SAME_UPPER与VALID，默认值为NOTSET。

count_include_pad：int，暂不支持。

kernel_shape（可选）：

- kernel_shape[0]：数据类型支持int32，指定沿H维度的窗口大小，取值范围为[1, 32768]，默认为1。
- kernel_shape[1]：数据类型支持int32，指定沿W维度的窗口大小，取值范围为[1, 32768]，默认为1。

strides（可选）：

- strides[0]：数据类型支持int32，指定沿H维度的步长，默认为1。
- strides[1]：数据类型支持int32，指定沿W维度的步长，默认为1。

pads（可选）：

- pads[0]：数据类型支持int32，指定顶部padding，默认为0。
- pads[1]：数据类型支持int32，指定底部padding，默认为0。
- pads[2]：数据类型支持int32，指定左部padding，默认为0。
- pads[3]：数据类型支持int32，指定右部padding，默认为0。

ceil_mode（可选）：数据类型支持int32，取值为0（floor模式），1（ceil模式），默认为0。


#### 输出

Y：输出Tensor，数据类型支持float16、float，格式为NCHW，数据格式支持ND。


#### 约束与限制

- strides[0]或者strides[1]取值步长大于63时，会使用AI CPU计算，性能会下降。
- kernel_shape[0]或kernel_shape[1]取值超过[1,255]，或者kernel_shape[0] * kernel_shape[1] > 256时，会使用AI CPU计算，导致性能下降。
- 1 <= input_w <= 4096。
- 当输入tensor的N是一个质数时，N应当小于65535。
- ceil_mode参数仅在auto_pad='NOTSET'时生效。
- 不支持atc工具参数--precision_mode=must_keep_origin_dtype时float类型输入。
- auto_pad属性值支持SAME_UPPER而不支持SAME_LOWER，原因是SAME_LOWER和SAME_UPPER统一使用的TBE的SAME属性，即TBE算子没有根据这个属性区分pad的填充位置，可能会带来精度问题。
- 滑窗范围超过输入特征图原始宽高的大小，且count_include_pad为False时，可能导致算子计算中的除数分母为0，输出结果可能为0，65504，Nan，INF。该场景不符合该算子的正常业务逻辑，建议修改ceil_mode或stride等属性，满足滑窗始终与输入特征图的有交集。


#### 支持的ONNX版本

Opset v8/v9/v10/v11/v12/v13/v14/v15/v16/v17/v18
