code: def reshape_input(
      value: np.ndarray, shape: Tuple[int, ...], axis: Optional[int]
  ) -> np.ndarray:
      if axis is None:
          raise ValueError("axis cannot be None.")
      if len(value.shape) == 0:
          return value
      dims = [1] * len(shape)
      try:
          dims[axis] = value.size
      except IndexError as e:
          raise IndexError(
              f"axis is out of boundary, axis={axis}, "
              f"value.shape={value.shape}, shape={shape}."
          ) from e
      return value.reshape(tuple(dims))
  
file_path: onnx/onnx/reference/ops/op_dequantize_linear.py
imports: from typing import Optional, Tuple
  import numpy
  from onnx import TensorProto
  from onnx.helper import np_dtype_to_tensor_dtype
  from onnx.numpy_helper import float8e4m3_to_float32, float8e5m2_to_float32
  from onnx.reference.custom_element_types import float8e4m3fn, float8e4m3fnuz, float8e5m2, float8e5m2fnuz, int4, uint4
  from onnx.reference.op_run import OpRun
label_desc: Use image node_id 2 for calling the DequantizeLinear obj's underlying member method code with example usage: obj.reshape_input(value, shape, axis) and returns: value, value