ai.onnx.AveragePool

ai.onnx · standard ONNX operator · ONNX opset ≥ 19

Description

Applies average pooling over a sliding kernel window on input tensor X, computing the mean of values within each window position and writing results to Y. Output spatial dimensions are determined by kernel_shape, strides, dilations, pads, and ceil_mode; padded positions are excluded from the average by default unless count_include_pad is set.

See the ONNX AveragePool spec for the reference semantics.

Inputs

Name Bind key Logical dtype Rank Shape Description Presence
X x T Input data tensor of shape (N x C x D1 x D2 ... Dn), where N is the batch size and C is the number of channels. required

Outputs

Name Bind key Logical dtype Rank Shape Description Presence
Y y T same as X derived; see description Output tensor with pooled values; spatial dimensions vary based on kernel, stride, dilation, and pad settings. required

Attributes

Attributes and default values (overridable per request):

Attribute Default Description
auto_pad "NOTSET" Deprecated auto-padding mode: NOTSET (use explicit pads), SAME_UPPER, SAME_LOWER (pad so output size is ceil(input / stride)), or VALID (no padding).
count_include_pad 0 When non-zero, pad pixels are counted in the divisor when computing the average; defaults to 0 (exclude pad).
ceil_mode 0 When non-zero, uses ceiling instead of floor when computing the output spatial shape; defaults to 0.
kernel_shape Required kernel shape, with one positive value per spatial axis.
strides Stride along each spatial axis. When omitted, every stride is 1.
pads Padding at the beginning and end of each spatial axis, ordered as [begin_0, ..., begin_n, end_0, ..., end_n]. When omitted, every pad is 0.
dilations Dilation along each spatial axis. When omitted, every dilation is 1.

Type constraints

Variable Allowed dtypes
T float32, float16

Files

Use with @huggingface/kernels

The loader derives every required output's shape and logical dtype from the manifest contract and this call. It then allocates the result tensors automatically.

The version: 1 option selects the published kernel contract; it is independent of any operator opset, contrib since_version, or model version.

Replace each *Data placeholder with a typed array containing the corresponding input data.

import { getKernel } from "@huggingface/kernels";

const kernel = await getKernel("webgpu-kernels/ai.onnx.AveragePool", { version: 1 });
const { y } = await kernel({ x: { data: xData, shape: [1, 3, 32] } }, {
  attrs: { kernel_shape: [2] },
});
Downloads last month
-
kernel
webgpu
wgsl
apache-2.0
WebGPU

Requires WebGPU support. See the compatibility table.