From 94af73d2a08a416a3b8f1885a4029b5f3d783eeb Mon Sep 17 00:00:00 2001 From: Samuel Larkin Date: Wed, 2 Oct 2024 14:02:21 -0400 Subject: [PATCH] feat: handling wrong model type --- dfaligner/model.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dfaligner/model.py b/dfaligner/model.py index e26e113..61191aa 100644 --- a/dfaligner/model.py +++ b/dfaligner/model.py @@ -7,6 +7,7 @@ import torch.nn as nn from everyvoice.model.aligner.config import AlignerConfig from everyvoice.text.text_processor import TextProcessor +from everyvoice.utils import pydantic_validation_error_shortener from .config import DFAlignerConfig from .duration_extraction import extract_durations_with_dijkstra @@ -42,7 +43,17 @@ def __init__( ) -> None: super().__init__() if isinstance(config, dict): - config = AlignerConfig(**config) + from pydantic import ValidationError + + try: + config = AlignerConfig(**config) + except ValidationError as e: + from loguru import logger + + logger.error(f"{pydantic_validation_error_shortener(e)}") + raise TypeError( + "Unable to load config. Possible causes: is it really a AlignerConfig? or the correct version?" + ) self.config: AlignerConfig = config # type: ignore self.preprocessed_dir = Path(self.config.preprocessing.save_dir) self.sep = "--"