code: def update_dir(model_dir, log_dir, data_dir, debug):
      if model_dir:
          os.makedirs(model_dir, exist_ok=True)
          config.OUTPUT_DIR = model_dir
      os.makedirs(log_dir, exist_ok=True)
      os.makedirs(data_dir, exist_ok=True)
      config.LOG_DIR = log_dir
      config.DATA_DIR = data_dir
      if config.DATA.DATASET_NAME == "surreal":
          config.DATA.TRAIN_PATH = osp.join(
              config.DATA_DIR, "surreal_train_pred3.h5"
          )
          config.DATA.VALID_PATH = osp.join(
              config.DATA_DIR, "surreal_valid_pred3.h5"
          )
      elif config.DATA.DATASET_NAME == "h36m":
          # config.DATA.TRAIN_PATH = osp.join(config.DATA_DIR, "../../unsupervised_mesh/data/h36m_train_pred_3d_mesh.h5" if not debug else "debug_train.h5")
          # config.DATA.VALID_PATH = osp.join(config.DATA_DIR, "../../unsupervised_mesh/data/h36m_valid_pred_3d_mesh.h5" if not debug else "debug_valid.h5")
          config.DATA.TRAIN_PATH = osp.join(
              config.DATA_DIR,
              "h36m_train_pred3.h5" if not debug else "debug_train.h5",
          )
          config.DATA.VALID_PATH = osp.join(
              config.DATA_DIR,
              "h36m_valid_pred3.h5" if not debug else "debug_valid.h5",
          )
      elif config.DATA.DATASET_NAME == "mpi":
          config.DATA.TRAIN_PATH = osp.join(
              config.DATA_DIR, "mpi_train_pred3.h5"
          )
          config.DATA.VALID_PATH = osp.join(
              config.DATA_DIR, "mpi_valid_pred3.h5"
          )
      config.TRAIN.MODEL_PATH = osp.join(config.OUTPUT_DIR, "model.pkl")
  
file_path: insightface/body/human_pose/ambiguity_aware/lib/core/config.py
imports: import os
  import os.path
  import yaml
  import numpy
  from easydict import EasyDict
label_desc: Use image node_id 3 for calling a global function with example usage: update_dir(model_dir, log_dir, data_dir, debug) without return types