Skip to content

io

check_input_paths(fn_dataset, fn_transformed, fn_metatransformer, dir_experiment)

Sets up the input and output paths for the model files.

Parameters:

Name Type Description Default
fn_dataset str

The base name of the dataset.

required
fn_transformed str

The name of the transformed data file.

required
fn_metatransformer str

The name of the metatransformer file.

required
dir_experiment Path

The path to the experiment directory.

required

Returns:

Type Description
tuple[str, str]

The paths to the data, metadata and metatransformer files.

Source code in src/nhssynth/modules/model/io.py
def check_input_paths(
    fn_dataset: str, fn_transformed: str, fn_metatransformer: str, dir_experiment: Path
) -> tuple[str, str]:
    """
    Sets up the input and output paths for the model files.

    Args:
        fn_dataset: The base name of the dataset.
        fn_transformed: The name of the transformed data file.
        fn_metatransformer: The name of the metatransformer file.
        dir_experiment: The path to the experiment directory.

    Returns:
        The paths to the data, metadata and metatransformer files.
    """
    fn_dataset = Path(fn_dataset).stem
    fn_transformed, fn_metatransformer = io.consistent_endings([fn_transformed, fn_metatransformer])
    fn_transformed, fn_metatransformer = io.potential_suffixes([fn_transformed, fn_metatransformer], fn_dataset)
    io.warn_if_path_supplied([fn_transformed, fn_metatransformer], dir_experiment)
    io.check_exists([fn_transformed, fn_metatransformer], dir_experiment)
    return fn_dataset, fn_transformed, fn_metatransformer

load_required_data(args, dir_experiment)

Loads the data from args or from disk when the dataloader has not be run previously.

Parameters:

Name Type Description Default
args Namespace

The arguments passed to the module, in this case potentially carrying the outputs of the dataloader module.

required
dir_experiment Path

The path to the experiment directory.

required

Returns:

Type Description
tuple[str, DataFrame, dict[str, int], MetaTransformer]

The data, metadata and metatransformer.

Source code in src/nhssynth/modules/model/io.py
def load_required_data(
    args: argparse.Namespace, dir_experiment: Path
) -> tuple[str, pd.DataFrame, dict[str, int], MetaTransformer]:
    """
    Loads the data from `args` or from disk when the dataloader has not be run previously.

    Args:
        args: The arguments passed to the module, in this case potentially carrying the outputs of the dataloader module.
        dir_experiment: The path to the experiment directory.

    Returns:
        The data, metadata and metatransformer.
    """
    if all(x in args.module_handover for x in ["dataset", "transformed", "metatransformer"]):
        return (
            args.module_handover["dataset"],
            args.module_handover["transformed"],
            args.module_handover["metatransformer"],
        )
    else:
        fn_dataset, fn_transformed, fn_metatransformer = check_input_paths(
            args.dataset, args.transformed, args.metatransformer, dir_experiment
        )

        with open(dir_experiment / fn_transformed, "rb") as f:
            data = pickle.load(f)
        with open(dir_experiment / fn_metatransformer, "rb") as f:
            mt = pickle.load(f)

        return fn_dataset, data, mt