code: def _ret_grids(self):
      is_float = False
      for grid in self.grids:
          if ivy.is_float_dtype(grid):
              is_float = True
              break
      # ogrid
      if self.sparse:
          for i in range(0, len(self.grids)):
              self.grids[i] = (
                  ivy.native_array(self.grids[i], dtype="float64")
                  if is_float
                  else ivy.native_array(self.grids[i], dtype="int64")
              )
          return self.grids
      # mgrid
      return (
          ivy.native_array(self.grids, dtype="float64")
          if is_float
          else ivy.native_array(self.grids, dtype="int64")
      )
  
imports: import ivy
  from ivy.functional.frontends.numpy.func_wrapper import outputs_to_frontend_arrays, to_ivy_arrays_and_back, handle_numpy_dtype
label_desc: Use image node_id 7 for calling the nd_grid obj's underlying member method code with example usage: obj._ret_grids() and returns: unknown, self