class_docstr: Configuration options for the training of the Profet meta-model.
class_docstr_tok: ["Configuration","options","for","the","training","of","the","Profet","meta-model","."]
docstr: Load the profet data for the given benchmark from the input directory.
  
  When the input directory doesn't exist, attempts to download the data to create the input
  directory.
  
  Parameters
  ----------
  input_path : Union[str, Path]
      Input directory. Expects to find a json file for the given benchmark inside that directory.
  
  Returns
  -------
  Tuple[np.ndarray, np.ndarray, np.ndarray]
      X, Y, and C arrays.
docstr_tok: ["Load","the","profet","data","for","the","given","benchmark","from","the","input","directory",".","When","the","input","directory","does","n't","exist",",","attempts","to","download","the","data","to","create","the","input","directory",".","Parameters","--","--","--","--","--","input_path",":","Union","[","str",",","Path","]","Input","directory",".","Expects","to","find","a","json","file","for","the","given","benchmark","inside","that","directory",".","Returns","--","--","--","-","Tuple","[","np.ndarray",",","np.ndarray",",","np.ndarray","]","X",",","Y",",","and","C","arrays","."]
code: def load_data(
      self, input_path: Union[str, Path]
  ) -> Tuple[np.ndarray, np.ndarray, np.ndarray]:
      """Load the profet data for the given benchmark from the input directory.
  
      When the input directory doesn't exist, attempts to download the data to create the input
      directory.
  
      Parameters
      ----------
      input_path : Union[str, Path]
          Input directory. Expects to find a json file for the given benchmark inside that directory.
  
      Returns
      -------
      Tuple[np.ndarray, np.ndarray, np.ndarray]
          X, Y, and C arrays.
      """
      # file = Path(input_path) / NAMES[benchmark]
  
      profet_data_dir = Path(input_path)
      file = profet_data_dir / "data" / self.json_file_name
      if not file.exists():
          logger.info(
              f"File {file} doesn't exist, attempting to download data."
          )
          # NOTE: This downloads the "profet_data" folder, with the "data" folder inside it, so
          # we download it to the parent directory of the profet_data dir.
          download_data(str(profet_data_dir.parent))
  
          logger.info("Download finished.")
          if not file.exists():
              raise RuntimeError(
                  f"Download finished, but file {file} still doesn't exist!"
              )
      with open(file) as f:
          res = json.load(f)
      X, Y, C = (
          np.array(res["X"]),
          np.array(res["Y"]),
          np.array(res["C"]),
      )
      if len(X.shape) == 1:
          X = X[:, None]
      return X, Y, C
  
imports: import json
  import pickle
  import warnings
  from abc import ABC
  from copy import deepcopy
  from dataclasses import dataclass
  from logging import getLogger
  from pathlib import Path
  from typing import Any, Callable, ClassVar, Optional, Tuple, Union
  import numpy
label_desc: Use image node_id 2 for calling the MetaModelConfig obj's underlying member method code with example usage: obj.load_data(input_path) and returns: X,  Y,  C