Performs max pooling on the input and outputs both max values and indices.
tf.raw_ops.MaxPoolWithArgmax(
input, ksize, strides, padding, Targmax=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
|
A list of ints that has length >= 4.
The size of the window for each dimension of the input tensor.
|
strides
|
A list of ints that has length >= 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.
|
Targmax
|
An optional tf.DType from: tf.int32, tf.int64. Defaults to tf.int64.
|
include_batch_in_index
|
An optional bool. 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 Targmax.
|