class_docstr: Implements the reduce logic.
  It must have a parameter *axes*.
class_docstr_tok: ["Implements","the","reduce","logic",".","It","must","have","a","parameter","*","axes","*","."]
code: def __init__(self, onnx_node: NodeProto, run_params: Dict[str, Any]):
      OpRun.__init__(self, onnx_node, run_params)
      if hasattr(self, "axes"):
          if isinstance(self.axes, np.ndarray):  # type: ignore
              if len(self.axes.shape) == 0 or self.axes.shape[0] == 0:  # type: ignore
                  self.axes = None
              else:
                  self.axes = tuple(self.axes)
          elif self.axes in [[], ()]:
              self.axes = None
          elif isinstance(self.axes, list):
              self.axes = tuple(self.axes)
  
imports: from typing import Any, Dict
  import numpy
  from onnx.onnx_pb import NodeProto
  from onnx.reference.op_run import OpRun, RuntimeTypeError
label_desc: Use image node_id 1 to create a new OpRunReduceNumpy object from inherited base classes: OpRun with example: obj = OpRunReduceNumpy(onnx_node, run_params)