class_docstr: Abstract two-dimensional layer that downsamples values in a kernel to a single value.
  
  Parameters
  ----------
  input_size : tuple
      the size of the input.
  output_size : tuple
      the size of the output.
  strides : matrix-like
      stride of the kernel.
  activation : str or None
      activation function name
  input_index_mapper : IndexMapper or None
      map indexes from this layer index to the input layer index size
code: def __init__(
      self,
      input_size,
      output_size,
      strides,
      *,
      activation=None,
      input_index_mapper=None,
  ):
      super().__init__(
          input_size,
          output_size,
          activation=activation,
          input_index_mapper=input_index_mapper,
      )
      self.__strides = strides
  
imports: import itertools
  import numpy
label_desc: Use image node_id 1 to create a new Layer2D object from inherited base classes: Layer with example: obj = Layer2D(input_size, output_size, strides)