diff --git a/flair/training_utils.py b/flair/training_utils.py index 915df609a8..2ac1fe378e 100644 --- a/flair/training_utils.py +++ b/flair/training_utils.py @@ -28,11 +28,22 @@ def __init__( self, main_score: float, detailed_results: str, + scores: dict, classification_report: Optional[dict] = None, - scores: Optional[dict] = None, ) -> None: - classification_report = classification_report if classification_report is not None else {} - assert scores is not None and "loss" in scores, "No loss provided." + """Initialize Result object for model evaluation. + + Args: + main_score: The primary evaluation metric + detailed_results: Detailed evaluation results as string + scores: Dictionary containing evaluation metrics including 'loss' + classification_report: Optional classification report dictionary + + Raises: + ValueError: If scores does not contain 'loss' key + """ + if "loss" not in scores: + raise ValueError("scores parameter must contain 'loss' key") self.main_score: float = main_score self.scores = scores @@ -40,7 +51,7 @@ def __init__( self.classification_report = classification_report if classification_report is not None else {} @property - def loss(self): + def loss(self) -> float: return self.scores["loss"] def __str__(self) -> str: