---
title: "ClikaRT::ops::avg_pool2d"
sidebar_label: "avg_pool2d"
description: "2-D average pooling over [N, H, W, C] (channels-last). Averages each kernel_size window; count_include_pad includes the zero padding in the divisor; divisor_override fixes the divisor."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--function">function</span>

## avg\_pool2d() {#avg_pool2d}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`avg_pool2d`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](../Tensor.md) `input`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](../Span.md)`<const std::int64_t>` `kernel_size`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](../Span.md)`<const std::int64_t>` `stride` `=` `{}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](../Span.md)`<const std::int64_t>` `padding` `=` `{0, 0}`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `ceil_mode` `=` `false`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `count_include_pad` `=` `true`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;`std::optional<int64_t>` `divisor_override` `=` `std::nullopt`<br />
)

</div>

2-D average pooling over `[N, H, W, C]` (channels-last).

Averages each `kernel_size` window; `count_include_pad` includes the zero padding in the divisor; `divisor_override` fixes the divisor. `stride` empty = `kernel_size`.

**Parameters**

- `input`: the input, `[N, H, W, C]`.
- `kernel_size`: `{kH, kW}`.
- `stride`: `{sH, sW}`; empty = `kernel_size`.
- `padding`: `{pH, pW}`; default `{0, 0}`.
- `ceil_mode`: round output extents up; default false.
- `count_include_pad`: count padding in the divisor; default true.
- `divisor_override`: fixed divisor; absent = window count.

**Returns:** `[N, H', W', C]`, dtype of `input`.

**Throws**

- `ClikaRT::Error`: (`INVALID_ARGUMENT`) on mismatched parameter ranks.

<div class="api-declared">

Declared in `ClikaRT/compute/ops.h`, line 4014

</div>
