---
title: "ClikaRT::ops::adaptive_max_pool"
sidebar_label: "adaptive_max_pool"
description: "Rank-generic adaptive MAX pooling to a target output size, channels-last, the max sibling of adaptive_avg_pool. A window holding any NaN element yields NaN. input the input, [N, D1..Dn, C]."
---

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

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

## adaptive\_max\_pool() {#adaptive_max_pool}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`adaptive_max_pool`**([`Tensor`](../Tensor.md) `input`, [`ClikaRT::Span`](../Span.md)`<const std::int64_t>` `output_size`)

</div>

Rank-generic adaptive MAX pooling to a target output size, channels-last, the max sibling of [`adaptive_avg_pool`](./adaptive_avg_pool.md#adaptive_avg_pool). A window holding any NaN element yields NaN.

**Parameters**

- `input`: the input, `[N, D1..Dn, C]`.
- `output_size`: target spatial extents, one per spatial dim.

**Returns:** `[N, output_size.., C]`, dtype of `input`.

**Throws**

- `ClikaRT::Error`: (`INVALID_ARGUMENT`) when `output_size`'s rank does not match the input's spatial rank.

<div class="api-declared">

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

</div>
