code: def _get_AE_dataloader(
      config, phase: Literal["train", "valid", "test", "evaluation"]
  ):
      """Customized function for VAE models to get correct dataloader class.
  
      Args:
          config (Config): An instance object of Config, used to record parameter information.
          phase (str): The stage of dataloader. It can only take 4 values: 'train', 'valid', 'test' or 'evaluation'.
              Notes: 'evaluation' has been deprecated, please use 'valid' or 'test' instead.
  
      Returns:
          type: The dataloader class that meets the requirements in :attr:`config` and :attr:`phase`.
      """
      if phase not in ["train", "valid", "test", "evaluation"]:
          raise ValueError(
              "`phase` can only be 'train', 'valid', 'test' or 'evaluation'."
          )
      if phase == "evaluation":
          phase = "test"
          warnings.warn(
              "'evaluation' has been deprecated, please use 'valid' or 'test' instead.",
              DeprecationWarning,
          )
  
      if phase == "train":
          return UserDataLoader
      else:
          eval_mode = config["eval_args"]["mode"][phase]
          if eval_mode == "full":
              return FullSortEvalDataLoader
          else:
              return NegSampleEvalDataLoader
  
file_path: RecBole/recbole/data/utils.py
imports: import copy
  import importlib
  import os
  import pickle
  import warnings
  from typing import Literal
  from recbole.data.dataloader import *
  from recbole.sampler import KGSampler, Sampler, RepeatableSampler
  from recbole.utils import ModelType, ensure_dir, get_local_time, set_color
  from recbole.utils.argument_list import dataset_arguments
label_desc: Use image node_id 6 for calling a global function with example usage: _get_AE_dataloader(config, phase) and returns: UserDataLoader, FullSortEvalDataLoader, NegSampleEvalDataLoader