code: def _set_input_files(
      dataset_obj: Union[
          HomogenousBulkSamplerDataset, HeterogenousBulkSamplerDataset
      ],
      input_directory: Optional[str] = None,
      input_file_paths: Optional[List[str]] = None,
  ) -> None:
      if input_directory is None and input_file_paths is None:
          raise ValueError(
              "input_files or input_file_paths must be set"
          )
  
      if (input_directory is not None) and (
          input_file_paths is not None
      ):
          raise ValueError(
              "Only one of input_directory or input_file_paths must be set"
          )
  
      if input_file_paths:
          dataset_obj._input_files = input_file_paths
      if input_directory:
          dataset_obj._input_files = [
              fp.path for fp in os.scandir(input_directory)
          ]
      dataset_obj._batch_to_fn_d = get_batch_to_fn_d(
          dataset_obj._input_files
      )
      dataset_obj.num_batches = len(dataset_obj._batch_to_fn_d)
      dataset_obj._current_batch_fn = None
  
imports: from __future__ import annotations
  from typing import Tuple, Dict, Optional, List, Union
  import os
  import cudf
  from cugraph.utilities.utils import import_optional
  from cugraph_dgl.dataloading.utils.sampling_helpers import create_homogeneous_sampled_graphs_from_dataframe, create_heterogeneous_sampled_graphs_from_dataframe, create_homogeneous_sampled_graphs_from_dataframe_csc
label_desc: Use image node_id 4 for calling a global function with example usage: _set_input_files(dataset_obj, input_directory, input_file_paths) without return types