Ensure that ``evaluator`` is an :class:`.Evaluator`. Args: evaluator (Evaluator | DataSpec | Iterable | dict[str, Any]): A dataloader, :class:`.DataSpec` instance, dictionary of :class:`.DataSpec` kwargs, or existing evaluator. default_metric_names (list[str]): The n
(evaluator: Union[Evaluator, DataSpec, Iterable, dict[str, Any]], default_metric_names: list[str])
| 121 | |
| 122 | |
| 123 | def ensure_evaluator(evaluator: Union[Evaluator, DataSpec, Iterable, dict[str, Any]], default_metric_names: list[str]): |
| 124 | """Ensure that ``evaluator`` is an :class:`.Evaluator`. |
| 125 | |
| 126 | Args: |
| 127 | evaluator (Evaluator | DataSpec | Iterable | dict[str, Any]): A dataloader, |
| 128 | :class:`.DataSpec` instance, dictionary of :class:`.DataSpec` kwargs, or existing evaluator. |
| 129 | default_metric_names (list[str]): The names of the metrics for the ``evaluator``, |
| 130 | if a dataloader was specified. |
| 131 | |
| 132 | Returns: |
| 133 | Evaluator: An evaluator. |
| 134 | """ |
| 135 | if isinstance(evaluator, Evaluator): |
| 136 | return evaluator |
| 137 | else: |
| 138 | return Evaluator( |
| 139 | label='eval', |
| 140 | dataloader=evaluator, |
| 141 | metric_names=default_metric_names, |
| 142 | ) |
| 143 | |
| 144 | |
| 145 | def _is_auto_microbatching(device_eval_microbatch_size: Optional[Union[int, str, float]]): |