code: def prepare_ablation_from_path(
      path: Union[str, pathlib.Path],
      directory: Union[str, pathlib.Path],
      save_artifacts: bool,
  ) -> List[Tuple[pathlib.Path, pathlib.Path]]:
      """Prepare a set of ablation study directories.
  
      :param path: Path to configuration file defining the ablation studies.
      :param directory: The directory in which the experimental artifacts (including the ablation configurations)
          will be saved.
      :param save_artifacts: Defines, whether the output directories for the trained models sampled during HPO should be
          created.
      :return: pairs of output directories and HPO config paths inside those directories
      """
      directory = normalize_path(directory, *iter_unique_ids())
      with open(path) as file:
          config = json.load(file)
      return prepare_ablation_from_config(
          config=config,
          directory=directory,
          save_artifacts=save_artifacts,
      )
  
file_path: pykeen/src/pykeen/ablation/ablation.py
imports: import itertools
  import json
  import logging
  import pathlib
  import time
  from typing import Any, Dict, Iterable, List, Mapping, Optional, Sequence, Tuple, Union
  from uuid import uuid4
  from ..training import SLCWATrainingLoop, training_loop_resolver
  from ..utils import normalize_path, normalize_string
label_desc: Use image node_id 5 for calling a global function with example usage: prepare_ablation_from_path(path, directory, save_artifacts) and returns: prepare_ablation_from_config