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
This commit is contained in:
Yang Yu 2022-10-28 20:47:47 +08:00 committed by GitHub
parent 347ba38cb4
commit 9b1dcba94a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)