@abstractmethod
def evaluate(self, sentences: Union[(List[Sentence], Dataset)], gold_label_type: str, out_path: Union[(str, Path)]=None, embedding_storage_mode: str='none', mini_batch_size: int=32, num_workers: int=8, main_evaluation_metric: Tuple[(str, str)]=('micro avg', 'f1-score'), exclude_labels: List[str]=[], gold_label_dictionary: Optional[Dictionary]=None) -> Result:
    "Evaluates the model. Returns a Result object containing evaluation\n        results and a loss value. Implement this to enable evaluation.\n        :param data_loader: DataLoader that iterates over dataset to be evaluated\n        :param out_path: Optional output path to store predictions\n        :param embedding_storage_mode: One of 'none', 'cpu' or 'gpu'. 'none' means all embeddings are deleted and\n        freshly recomputed, 'cpu' means all embeddings are stored on CPU, or 'gpu' means all embeddings are stored on GPU\n        :return: Returns a Tuple consisting of a Result object and a loss float value\n        "
    raise NotImplementedError
Evaluates the model. Returns a Result object containing evaluation
results and a loss value. Implement this to enable evaluation.
:param data_loader: DataLoader that iterates over dataset to be evaluated
:param out_path: Optional output path to store predictions
:param embedding_storage_mode: One of 'none', 'cpu' or 'gpu'. 'none' means all embeddings are deleted and
freshly recomputed, 'cpu' means all embeddings are stored on CPU, or 'gpu' means all embeddings are stored on GPU
:return: Returns a Tuple consisting of a Result object and a loss float value
@abstractmethod
def evaluate(self, sentences: Union[(List[Sentence], Dataset)], gold_label_type: str, out_path: Union[(str, Path)]=None, embedding_storage_mode: str='none', mini_batch_size: int=32, num_workers: int=8, main_evaluation_metric: Tuple[(str, str)]=('micro avg', 'f1-score'), exclude_labels: List[str]=[], gold_label_dictionary: Optional[Dictionary]=None) -> Result:
    "Evaluates the model. Returns a Result object containing evaluation\n        results and a loss value. Implement this to enable evaluation.\n        :param data_loader: DataLoader that iterates over dataset to be evaluated\n        :param out_path: Optional output path to store predictions\n        :param embedding_storage_mode: One of 'none', 'cpu' or 'gpu'. 'none' means all embeddings are deleted and\n        freshly recomputed, 'cpu' means all embeddings are stored on CPU, or 'gpu' means all embeddings are stored on GPU\n        :return: Returns a Tuple consisting of a Result object and a loss float value\n        "
    raise NotImplementedError