code: def unsorted_segment_min(
      data: torch.Tensor,
      segment_ids: torch.Tensor,
      num_segments: Union[int, torch.Tensor],
  ) -> torch.Tensor:
      ivy.utils.assertions.check_unsorted_segment_valid_params(
          data, segment_ids, num_segments
      )
      if data.dtype in [
          torch.float32,
          torch.float64,
          torch.float16,
          torch.bfloat16,
      ]:
          init_val = torch.finfo(data.dtype).max
      elif data.dtype in [
          torch.int32,
          torch.int64,
          torch.int8,
          torch.int16,
          torch.uint8,
      ]:
          init_val = torch.iinfo(data.dtype).max
      else:
          raise TypeError("Unsupported data type")
  
      res = torch.full(
          (num_segments,) + data.shape[1:],
          init_val,
          dtype=data.dtype,
          device=data.device,
      )
      for i in range(num_segments):
          mask_index = segment_ids == i
          if torch.any(mask_index):
              res[i] = torch.min(data[mask_index], 0)[0]
  
      return res
  
file_path: ivy/ivy/functional/backends/torch/experimental/creation.py
imports: from typing import Optional, Tuple, Union
  import math
  import torch
  import ivy
  from ivy.func_wrapper import with_unsupported_dtypes, with_unsupported_device_and_dtypes
  from ..None import backend_version
label_desc: Use image node_id 6 for calling a global function with example usage: unsorted_segment_min(data, segment_ids, num_segments) and returns: res