code: def change_dtype_(arr, dtype, clip=True, round=True):
      # pylint: disable=redefined-builtin
      assert ia.is_np_array(
          arr
      ), "Expected array as input, got type %s." % (type(arr),)
      dtype = normalize_dtype(dtype)
  
      if arr.dtype.name == dtype.name:
          return arr
  
      if (
          round
          and arr.dtype.kind == "f"
          and dtype.kind in ["u", "i", "b"]
      ):
          arr = np.round(arr)
  
      if clip:
          min_value, _, max_value = get_value_range_of_dtype(dtype)
          arr = clip_(arr, min_value, max_value)
  
      return arr.astype(dtype, copy=False)
  
imports: from __future__ import print_function, division, absolute_import
  import numpy
  import six.moves
  import imgaug
label_desc: Use image node_id 3 for calling a global function with example usage: change_dtype_(arr, dtype, clip, round) and returns: arr, arr