% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/layers-pooling.R
\name{layer_max_pooling_2d}
\alias{layer_max_pooling_2d}
\title{Max pooling operation for spatial data.}
\usage{
layer_max_pooling_2d(object, pool_size = c(2L, 2L), strides = NULL,
  padding = "valid", data_format = NULL, batch_size = NULL, name = NULL,
  trainable = NULL, weights = NULL)
}
\arguments{
\item{object}{Model or layer object}

\item{pool_size}{integer or list of 2 integers, factors by which to downscale
(vertical, horizontal). (2, 2) will halve the input in both spatial
dimension. If only one integer is specified, the same window length will be
used for both dimensions.}

\item{strides}{Integer, list of 2 integers, or NULL. Strides values. If NULL,
it will default to \code{pool_size}.}

\item{padding}{One of \code{"valid"} or \code{"same"} (case-insensitive).}

\item{data_format}{A string, one of \code{channels_last} (default) or
\code{channels_first}. The ordering of the dimensions in the inputs.
\code{channels_last} corresponds to inputs with shape \code{(batch, height, width, channels)} while \code{channels_first} corresponds to inputs with shape \code{(batch, channels, height, width)}. It defaults to the \code{image_data_format} value
found in your Keras config file at \code{~/.keras/keras.json}. If you never set
it, then it will be "channels_last".}

\item{batch_size}{Fixed batch size for layer}

\item{name}{An optional name string for the layer. Should be unique in a
model (do not reuse the same name twice). It will be autogenerated if it
isn't provided.}

\item{trainable}{Whether the layer weights will be updated during training.}

\item{weights}{Initial weights for layer.}
}
\description{
Max pooling operation for spatial data.
}
\section{Input shape}{

\itemize{
\item If \code{data_format='channels_last'}: 4D tensor with shape: \code{(batch_size, rows, cols, channels)}
\item If \code{data_format='channels_first'}: 4D tensor with shape: \code{(batch_size, channels, rows, cols)}
}
}

\section{Output shape}{

\itemize{
\item If \code{data_format='channels_last'}: 4D tensor with shape: \code{(batch_size, pooled_rows, pooled_cols, channels)}
\item If \code{data_format='channels_first'}: 4D tensor with shape: \code{(batch_size, channels, pooled_rows, pooled_cols)}
}
}

\seealso{
Other pooling layers: \code{\link{layer_average_pooling_1d}},
  \code{\link{layer_average_pooling_2d}},
  \code{\link{layer_average_pooling_3d}},
  \code{\link{layer_global_average_pooling_1d}},
  \code{\link{layer_global_average_pooling_2d}},
  \code{\link{layer_global_average_pooling_3d}},
  \code{\link{layer_global_max_pooling_1d}},
  \code{\link{layer_global_max_pooling_2d}},
  \code{\link{layer_global_max_pooling_3d}},
  \code{\link{layer_max_pooling_1d}},
  \code{\link{layer_max_pooling_3d}}
}
