first commit
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
from dots_tts.config.base import StrictConfigBase
|
||||
from dots_tts.config.data import DataConfig
|
||||
from dots_tts.config.train import TrainConfig
|
||||
from dots_tts.models.dots_tts.config import LossConfig
|
||||
|
||||
DEFAULT_CONFIG_PATH = "configs/dots_tts.yaml"
|
||||
|
||||
|
||||
class AppConfig(StrictConfigBase):
|
||||
train_data: DataConfig
|
||||
val_data: DataConfig | None = None
|
||||
loss: LossConfig
|
||||
train: TrainConfig
|
||||
|
||||
@classmethod
|
||||
def from_yaml(cls, config_path: str = DEFAULT_CONFIG_PATH) -> AppConfig:
|
||||
with Path(config_path).open(encoding="utf-8") as fin:
|
||||
raw_config = yaml.safe_load(fin)
|
||||
return cls.model_validate(raw_config)
|
||||
|
||||
|
||||
def load_config(config_path: str = DEFAULT_CONFIG_PATH) -> AppConfig:
|
||||
return AppConfig.from_yaml(config_path)
|
||||
|
||||
|
||||
__all__ = ["AppConfig", "DEFAULT_CONFIG_PATH", "load_config"]
|
||||
Reference in New Issue
Block a user