docstr: input_shape: [1, 3, 32, 32]
  output_shape: [1, 3, 31, 31]
docstr_tok: ["input_shape",":","[","1",",","3",",","32",",","32","]","output_shape",":","[","1",",","3",",","31",",","31","]"]
code: def export_maxpool_2d_default() -> None:
      """input_shape: [1, 3, 32, 32]
      output_shape: [1, 3, 31, 31]
      """
      node = onnx.helper.make_node(
          "MaxPool",
          inputs=["x"],
          outputs=["y"],
          kernel_shape=[2, 2],
      )
      x = np.random.randn(1, 3, 32, 32).astype(np.float32)
      x_shape = np.shape(x)
      pads = None
      kernel_shape = (2, 2)
      strides = (1, 1)
      out_shape, _ = get_output_shape_explicit_padding(
          pads, x_shape[2:], kernel_shape, strides
      )
      padded = x
      y = pool(padded, x_shape, kernel_shape, strides, out_shape, "MAX")
  
      expect(
          node, inputs=[x], outputs=[y], name="test_maxpool_2d_default"
      )
  
imports: import numpy
  import onnx
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
  from onnx.reference.ops.op_pool_common import get_output_shape_auto_pad, get_output_shape_explicit_padding, get_pad_shape, pool
label_desc: Use image node_id 8 for calling the MaxPool obj's underlying member method code with example usage: obj.export_maxpool_2d_default() without return types