tf.nn.max_pool_with_argmax
Stay organized with collections
Save and categorize content based on your preferences.
Performs max pooling on the input and outputs both max values and indices.
tf.nn.max_pool_with_argmax(
input,
ksize,
strides,
padding,
data_format='NHWC',
output_dtype=tf.dtypes.int64
,
include_batch_in_index=False,
name=None
)
The indices in argmax
are flattened, so that a maximum value at position
[b, y, x, c]
becomes flattened index: (y * width + x) * channels + c
if
include_batch_in_index
is False;
((b * height + y) * width + x) * channels + c
if include_batch_in_index
is True.
The indices returned are always in [0, height) x [0, width)
before
flattening, even if padding is involved and the mathematically correct answer
is outside (either negative or too large). This is a bug, but fixing it is
difficult to do in a safe backwards compatible way, especially due to
flattening.
Args |
input
|
A Tensor . Must be one of the following types: float32 , float64 ,
int32 , uint8 , int16 , int8 , int64 , bfloat16 , uint16 , half ,
uint32 , uint64 .
4-D with shape [batch, height, width, channels] . Input to pool over.
|
ksize
|
An int or list of ints that has length 1 , 2 or 4 .
The size of the window for each dimension of the input tensor.
|
strides
|
An int or list of ints that has length 1 , 2 or 4 .
The stride of the sliding window for each dimension of the
input tensor.
|
padding
|
A string from: "SAME", "VALID" .
The type of padding algorithm to use. See
here
for more information.
|
data_format
|
An optional string , must be set to "NHWC" . Defaults to
"NHWC" .
Specify the data format of the input and output data.
|
output_dtype
|
An optional tf.DType from: tf.int32, tf.int64 .
Defaults to tf.int64 .
The dtype of the returned argmax tensor.
|
include_batch_in_index
|
An optional boolean . Defaults to False .
Whether to include batch dimension in flattened index of argmax .
|
name
|
A name for the operation (optional).
|
Returns |
A tuple of Tensor objects (output, argmax).
|
output
|
A Tensor . Has the same type as input .
|
argmax
|
A Tensor of type output_dtype .
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-03-23 UTC.
[null,null,["Last updated 2023-03-23 UTC."],[],[],null,["# tf.nn.max_pool_with_argmax\n\n\u003cbr /\u003e\n\n|----------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.11.1/tensorflow/python/ops/nn_ops.py#L5122-L5192) |\n\nPerforms max pooling on the input and outputs both max values and indices. \n\n tf.nn.max_pool_with_argmax(\n input,\n ksize,\n strides,\n padding,\n data_format='NHWC',\n output_dtype=../../tf/dtypes#int64,\n include_batch_in_index=False,\n name=None\n )\n\nThe indices in `argmax` are flattened, so that a maximum value at position\n`[b, y, x, c]` becomes flattened index: `(y * width + x) * channels + c` if\n`include_batch_in_index` is False;\n`((b * height + y) * width + x) * channels + c`\nif `include_batch_in_index` is True.\n\nThe indices returned are always in `[0, height) x [0, width)` before\nflattening, even if padding is involved and the mathematically correct answer\nis outside (either negative or too large). This is a bug, but fixing it is\ndifficult to do in a safe backwards compatible way, especially due to\nflattening.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `input` | A `Tensor`. Must be one of the following types: `float32`, `float64`, `int32`, `uint8`, `int16`, `int8`, `int64`, `bfloat16`, `uint16`, `half`, `uint32`, `uint64`. 4-D with shape `[batch, height, width, channels]`. Input to pool over. |\n| `ksize` | An int or list of `ints` that has length `1`, `2` or `4`. The size of the window for each dimension of the input tensor. |\n| `strides` | An int or list of `ints` that has length `1`, `2` or `4`. The stride of the sliding window for each dimension of the input tensor. |\n| `padding` | A `string` from: `\"SAME\", \"VALID\"`. The type of padding algorithm to use. See [here](https://www.tensorflow.org/api_docs/python/tf/nn#notes_on_padding_2) for more information. |\n| `data_format` | An optional `string`, must be set to `\"NHWC\"`. Defaults to `\"NHWC\"`. Specify the data format of the input and output data. |\n| `output_dtype` | An optional [`tf.DType`](../../tf/dtypes/DType) from: `tf.int32, tf.int64`. Defaults to [`tf.int64`](../../tf#int64). The dtype of the returned argmax tensor. |\n| `include_batch_in_index` | An optional `boolean`. Defaults to `False`. Whether to include batch dimension in flattened index of `argmax`. |\n| `name` | A name for the operation (optional). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|----------|-------------------------------------------|\n| A tuple of `Tensor` objects (output, argmax). ||\n| `output` | A `Tensor`. Has the same type as `input`. |\n| `argmax` | A `Tensor` of type `output_dtype`. |\n\n\u003cbr /\u003e"]]