tf.contrib.layers.max_pool2d(args, *kwargs)

tf.contrib.layers.max_pool2d(*args, **kwargs)

See the guide: Layers (contrib) > Higher level ops for building neural network layers

Adds a 2D Max Pooling op.

It is assumed that the pooling is done per image but not in batch or channels.


  • inputs: A 4-D tensor of shape [batch_size, height, width, channels] if data_format is NHWC, and [batch_size, channels, height, width] if data_format is NCHW.
  • kernel_size: A list of length 2: [kernel_height, kernel_width] of the pooling kernel over which the op is computed. Can be an int if both values are the same.
  • stride: A list of length 2: [stride_height, stride_width]. Can be an int if both strides are the same. Note that presently both strides must have the same value.
  • padding: The padding method, either 'VALID' or 'SAME'.
  • data_format: A string. NHWC (default) and NCHW are supported.
  • outputs_collections: The collections to which the outputs are added.
  • scope: Optional scope for name_scope.


A Tensor representing the results of the pooling operation.


  • ValueError: if data_format is neither NHWC nor NCHW.
  • ValueError: If 'kernel_size' is not a 2-D list

Defined in tensorflow/contrib/framework/python/ops/