"...git@developer.sourcefind.cn:OpenDAS/mmdetection3d.git" did not exist on "12b595ca67a36469bd7df774d6d191fbde283791"
Unverified Commit 280cef51 authored by Tom Aarsen's avatar Tom Aarsen Committed by GitHub
Browse files

Give more useful `metric_for_best_model` errors (#31450)

Give more useful metric_for_best_model errors
parent 2505357e
...@@ -2749,7 +2749,13 @@ class Trainer: ...@@ -2749,7 +2749,13 @@ class Trainer:
metric_to_check = self.args.metric_for_best_model metric_to_check = self.args.metric_for_best_model
if not metric_to_check.startswith("eval_"): if not metric_to_check.startswith("eval_"):
metric_to_check = f"eval_{metric_to_check}" metric_to_check = f"eval_{metric_to_check}"
self.lr_scheduler.step(metrics[metric_to_check]) try:
self.lr_scheduler.step(metrics[metric_to_check])
except KeyError as exc:
raise KeyError(
f"The `metric_for_best_model` training argument is set to '{metric_to_check}', which is not found in the evaluation metrics. "
f"The available evaluation metrics are: {list(metrics.keys())}. Consider changing the `metric_for_best_model` via the TrainingArguments."
) from exc
return metrics return metrics
def _maybe_log_save_evaluate(self, tr_loss, grad_norm, model, trial, epoch, ignore_keys_for_eval): def _maybe_log_save_evaluate(self, tr_loss, grad_norm, model, trial, epoch, ignore_keys_for_eval):
...@@ -2873,7 +2879,13 @@ class Trainer: ...@@ -2873,7 +2879,13 @@ class Trainer:
metric_to_check = self.args.metric_for_best_model metric_to_check = self.args.metric_for_best_model
if not metric_to_check.startswith("eval_"): if not metric_to_check.startswith("eval_"):
metric_to_check = f"eval_{metric_to_check}" metric_to_check = f"eval_{metric_to_check}"
metric_value = metrics[metric_to_check] try:
metric_value = metrics[metric_to_check]
except KeyError as exc:
raise KeyError(
f"The `metric_for_best_model` training argument is set to '{metric_to_check}', which is not found in the evaluation metrics. "
f"The available evaluation metrics are: {list(metrics.keys())}. Consider changing the `metric_for_best_model` via the TrainingArguments."
) from exc
operator = np.greater if self.args.greater_is_better else np.less operator = np.greater if self.args.greater_is_better else np.less
if ( if (
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment