Source code for learning_machine.config

import yaml
from pathlib import Path
from typing import Any
from learning_machine.engine import (
    create_engines_from_config,
    DataEngine,
    SequentialEngine,
)
from learning_machine.projects import preload_projects
from dataclasses import dataclass


[docs] @dataclass class Bundle: """ Bundle of components Attributes: data_engines (list[DataEngine]): List of engines. data_engine (DataEngine | None): Apply Sequential engine with list of engines. """ # data: pd.DataFrame data_engines: list[DataEngine] data_engine: DataEngine | None model: Any
[docs] def create_from_config(path_or_config: dict | str) -> Bundle: """Create bundle from config or config file. Args: path_or_config (dict | str): config dict or config file path Returns: Bundle: engine and model bundle """ if not path_or_config: raise ValueError() if isinstance(path_or_config, str): with open(path_or_config, "r") as f: path_or_config = yaml.safe_load(f) config: dict = path_or_config # type: ignore if config.get("projects"): for preload_path in config["projects"]: preload_projects(Path(preload_path)) # data engine data_engine = None data_engines = [] if config.get("data_engine"): data_engines = create_engines_from_config(config["data_engine"]) data_engine = SequentialEngine(data_engines) return Bundle( data_engines, data_engine, None, )
def get_parameter(params: dict) -> dict[str, str]: save_dict = {} for k, v in params.items(): if k != "self": continue save_dict[k] = str(v) return save_dict