code: def to_array(tensor):  # type: (TensorProto) -> np.ndarray[Any]
      
      if tensor.HasField("segment"):
          raise ValueError(
              "Currently not supporting loading segments.")
      if tensor.data_type == TensorProto.UNDEFINED:
          raise ValueError("The data type is not defined.")
  
      tensor_dtype = tensor.data_type
      np_dtype = mapping.TENSOR_TYPE_TO_NP_TYPE[tensor_dtype]
      storage_type = mapping.TENSOR_TYPE_TO_STORAGE_TENSOR_TYPE[tensor_dtype]
      storage_np_dtype = mapping.TENSOR_TYPE_TO_NP_TYPE[storage_type]
      storage_field = mapping.STORAGE_TENSOR_TYPE_TO_FIELD[storage_type]
      dims = tensor.dims
  
      if tensor.data_type == TensorProto.STRING:
          utf8_strings = getattr(tensor, storage_field)
          ss = list(s.decode('utf-8') for s in utf8_strings)
          return np.asarray(ss).astype(np_dtype).reshape(dims)
  
      if tensor.HasField("raw_data"):
          # Raw_bytes support: using frombuffer.
          return np.frombuffer(
              tensor.raw_data,
              dtype=np_dtype).reshape(dims)
      else:
          data = getattr(tensor, storage_field),  # type: Sequence[np.complex64]
          if (tensor_dtype == TensorProto.COMPLEX64
                  or tensor_dtype == TensorProto.COMPLEX128):
              data = combine_pairs_to_complex(data)
          return (
              np.asarray(
                  data,
                  dtype=storage_np_dtype)
              .astype(np_dtype)
              .reshape(dims)
          )
docs: Converts a tensor def object to a numpy array.
  
      Inputs:
          tensor: a TensorProto object.
      Returns:
          arr: the converted array.