From 9b1dcba94a1f04f83b187aa6a443e68d8cecbdf5 Mon Sep 17 00:00:00 2001 From: Yang Yu Date: Fri, 28 Oct 2022 20:47:47 +0800 Subject: [PATCH] Use self._trial to generate trial_name for Trainer. (#19874) * Do not generate trial_name when trail is None * Use (trial or self._trial) to generate trial_name * Follow comments --- src/transformers/trainer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/transformers/trainer.py b/src/transformers/trainer.py index 5fc909043..ac166f002 100755 --- a/src/transformers/trainer.py +++ b/src/transformers/trainer.py @@ -1652,7 +1652,10 @@ class Trainer: self.callback_handler.optimizer = self.optimizer self.callback_handler.lr_scheduler = self.lr_scheduler self.callback_handler.train_dataloader = train_dataloader - self.state.trial_name = self.hp_name(trial) if self.hp_name is not None else None + if self.hp_name is not None and self._trial is not None: + # use self._trial because the SigOpt/Optuna hpo only call `_hp_search_setup(trial)` instead of passing trial + # parameter to Train when using DDP. + self.state.trial_name = self.hp_name(self._trial) if trial is not None: assignments = trial.assignments if self.hp_search_backend == HPSearchBackend.SIGOPT else trial self.state.trial_params = hp_params(assignments)