Source code for gunz_ml.schemas.experiment

from dataclasses import dataclass, field
from typing import Optional

import hydra
from hydra.core.config_store import ConfigStore
from omegaconf import MISSING, OmegaConf

from ..consts import OptunaType
from .args import ArgsConfig

[docs] @dataclass class BaseExpConfig: """ Base configuration for experiments. This dataclass defines the structure of an experiment configuration, integrating various sub-components like arguments, node details, and library-specific settings. Parameters ---------- study_prefix : str The prefix for the study name. optuna_type : OptunaType The type of Optuna optimization (e.g., INT, FLOAT). Defaults to OptunaType.INT. args : ArgsConfig Runtime arguments for the experiment. Defaults to a factory-created ArgsConfig. node : dict Configuration details for the compute node. db : dict, optional Database configuration settings. ds : dict Dataset configuration settings. pl : dict, optional PyTorch Lightning specific configuration. optuna : dict, optional Optuna study configuration details. default : dict, optional Default values or overrides. """ study_prefix:str=MISSING optuna_type:OptunaType = OptunaType.INT args:ArgsConfig=field( default_factory=ArgsConfig ) node:dict=MISSING db:Optional[dict]=None ds:dict=MISSING pl:Optional[dict]=None optuna:Optional[dict]=None # exp=MISSING # run=MISSING default:Optional[dict]=None