code: def _run(self, x, axes=None, keepdims=None, noop_with_empty_axes=None):  # type: ignore
      if (axes is None or axes.shape == (0,)) and noop_with_empty_axes:
          return (x,)
      axes = self.handle_axes(axes)
      try:
          res = np.sum(x, axis=axes, keepdims=keepdims, dtype=x.dtype)
          if keepdims == 0 and not isinstance(res, np.ndarray):
              # The runtime must return a numpy array of a single float.
              res = np.array(res)
          return (res,)  # type: ignore
      except TypeError as e:
          raise TypeError(
              f"Unable to reduce shape {x.shape!r} with axes={axes!r} and keepdims={keepdims}."
          ) from e
  
file_path: onnx/onnx/reference/ops/op_reduce_sum.py
imports: import numpy
  from onnx.reference.ops._op import OpRunReduceNumpy
label_desc: Use image node_id 1 for calling the ReduceSum_13 obj's underlying member method code with example usage: obj._run(x, axes, keepdims, noop_with_empty_axes) and returns: x, res