Skip to content

Commit 2886fa0

Browse files
Internal change
PiperOrigin-RevId: 463812468
1 parent 81fb5b0 commit 2886fa0

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

official/modeling/multitask/train_lib.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"""Multitask training driver library."""
1616
# pytype: disable=attribute-error
1717
import os
18-
from typing import Any, List, Optional, Tuple
18+
from typing import Any, List, Mapping, Optional, Tuple, Union
1919
from absl import logging
2020
import orbit
2121
import tensorflow as tf
@@ -44,8 +44,10 @@ def run_experiment(
4444
mode: str,
4545
params: configs.MultiTaskExperimentConfig,
4646
model_dir: str,
47+
run_post_eval: bool = False,
4748
trainer: base_trainer.MultiTaskBaseTrainer = None
48-
) -> base_model.MultiTaskBaseModel:
49+
) -> Union[base_model.MultiTaskBaseModel,
50+
Tuple[base_model.MultiTaskBaseModel, Mapping[Any, Any]]]:
4951
"""Runs train/eval configured by the experiment params.
5052
5153
Args:
@@ -56,6 +58,8 @@ def run_experiment(
5658
or 'continuous_eval'.
5759
params: ExperimentConfig instance.
5860
model_dir: A 'str', a path to store model checkpoints and summaries.
61+
run_post_eval: Whether to run post eval once after training, metrics logs
62+
are returned.
5963
trainer: (optional) A multi-task trainer to use. If none is provided, a
6064
default one will be created based on `params`.
6165
@@ -139,7 +143,11 @@ def timeout_fn():
139143
else:
140144
raise NotImplementedError('The mode is not implemented: %s' % mode)
141145

142-
return model
146+
if run_post_eval:
147+
return model, evaluator.evaluate(
148+
tf.convert_to_tensor(params.trainer.validation_steps)) # pytype: disable=bad-return-type # typed-keras
149+
else:
150+
return model
143151

144152

145153
def run_experiment_with_multitask_eval(

0 commit comments

Comments
 (0)