code: def parse_pooling_layer(
      keras_layer, input_names, input_shapes, data_reader
  ):
      assert "Pooling" in keras_layer["class_name"]
  
      layer = parse_default_keras_layer(keras_layer, input_names)
  
      if int(layer["class_name"][-2]) == 1:
          (layer["n_in"], layer["n_filt"]) = parse_data_format(
              input_shapes[0], layer["data_format"]
          )
  
          layer["pool_width"] = keras_layer["config"]["pool_size"][0]
          layer["stride_width"] = keras_layer["config"]["strides"][0]
          layer["padding"] = keras_layer["config"]["padding"]
  
          (
              layer["n_out"],
              layer["pad_left"],
              layer["pad_right"],
          ) = compute_padding_1d(
              layer["padding"],
              layer["n_in"],
              layer["stride_width"],
              layer["pool_width"],
          )
  
          if layer["data_format"] == "channels_last":
              output_shape = [
                  input_shapes[0][0],
                  layer["n_out"],
                  layer["n_filt"],
              ]
          elif layer["data_format"] == "channels_first":
              output_shape = [
                  input_shapes[0][0],
                  layer["n_filt"],
                  layer["n_out"],
              ]
      elif int(layer["class_name"][-2]) == 2:
          (
              layer["in_height"],
              layer["in_width"],
              layer["n_filt"],
          ) = parse_data_format(input_shapes[0], layer["data_format"])
  
          layer["stride_height"] = keras_layer["config"]["strides"][0]
          layer["stride_width"] = keras_layer["config"]["strides"][1]
          layer["pool_height"] = keras_layer["config"]["pool_size"][0]
          layer["pool_width"] = keras_layer["config"]["pool_size"][1]
          layer["padding"] = keras_layer["config"]["padding"]
  
          (
              layer["out_height"],
              layer["out_width"],
              layer["pad_top"],
              layer["pad_bottom"],
              layer["pad_left"],
              layer["pad_right"],
          ) = compute_padding_2d(
              layer["padding"],
              layer["in_height"],
              layer["in_width"],
              layer["stride_height"],
              layer["stride_width"],
              layer["pool_height"],
              layer["pool_width"],
          )
  
          if layer["data_format"] == "channels_last":
              output_shape = [
                  input_shapes[0][0],
                  layer["out_height"],
                  layer["out_width"],
                  layer["n_filt"],
              ]
          elif layer["data_format"] == "channels_first":
              output_shape = [
                  input_shapes[0][0],
                  layer["n_filt"],
                  layer["out_height"],
                  layer["out_width"],
              ]
  
      return layer, output_shape
  
label_desc: Use image node_id 1 for calling a global function with example usage: parse_pooling_layer(keras_layer, input_names, input_shapes, data_reader) and returns: layer,  output_shape