code: def _run(  # type: ignore
      self,
      x,
      auto_pad=None,
      ceil_mode=None,
      dilations=None,
      kernel_shape=None,
      pads=None,
      storage_order=None,
      strides=None,
  ):
      if (
          dilations is not None
          and (min(dilations) != max(dilations) or min(dilations) != 1)
      ) or (
          strides is not None
          and (min(strides) != max(strides) or min(strides) != 1)
      ):
          return self._max_pool(
              x,
              auto_pad=auto_pad,
              ceil_mode=ceil_mode,
              dilations=dilations,
              kernel_shape=kernel_shape,
              pads=pads,
              storage_order=storage_order,
              strides=strides,
          )
  
      return CommonPool._run(
          self,
          "MAX",
          0,
          x,
          auto_pad=auto_pad,
          ceil_mode=ceil_mode,
          dilations=dilations,
          kernel_shape=kernel_shape,
          pads=pads,
          storage_order=storage_order,
          strides=strides,
      )
  
file_path: onnx/onnx/reference/ops/op_max_pool.py
imports: import numpy
  from onnx.reference.ops._op_common_pool import CommonPool
label_desc: Use image node_id 1 for calling the MaxPool obj's underlying member method code with example usage: obj._run(x, auto_pad, ceil_mode, dilations, kernel_shape, pads, storage_order, strides) and returns: CommonPool, self