class_docstr: 2D max-pooling layer
  
  Subclass of :class:`Pool2DDNNLayer` fixing ``mode='max'``, provided for
  compatibility to other ``MaxPool2DLayer`` classes.
class_docstr_tok: ["2D","max-pooling","layer","Subclass","of",":","class",":","`","Pool2DDNNLayer","`","fixing","``","mode='max","'","``",",","provided","for","compatibility","to","other","``","MaxPool2DLayer","``","classes","."]
code: def __init__(
      self,
      incoming,
      pool_size,
      stride=None,
      pad=(0, 0),
      ignore_border=True,
      **kwargs,
  ):
      super(MaxPool2DDNNLayer, self).__init__(
          incoming,
          pool_size,
          stride,
          pad,
          ignore_border,
          mode="max",
          **kwargs,
      )
  
imports: import warnings
  import theano
  from ..None import init
  from ..None import nonlinearities
  from .base import Layer
  from .conv import conv_output_length, BaseConvLayer
  from .pool import pool_output_length
  from .normalization import BatchNormLayer
  from ..utils import as_tuple
label_desc: Use image node_id 1 to create a new MaxPool2DDNNLayer object from inherited base classes: Pool2DDNNLayer with example: obj = MaxPool2DDNNLayer(incoming, pool_size, stride, pad, ignore_border)