Don't close ClearML task if it was created externally (#26614)

don't close clearml task if it was created externally
This commit is contained in:
eajechiloae 2023-10-05 16:33:05 +03:00 committed by GitHub
parent 0a3b9d02fe
commit 9e78c9acfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1447,6 +1447,7 @@ class ClearMLCallback(TrainerCallback):
raise RuntimeError("ClearMLCallback requires 'clearml' to be installed. Run `pip install clearml`.")
self._initialized = False
self._initialized_externally = False
self._clearml_task = None
self._log_model = os.getenv("CLEARML_LOG_MODEL", "FALSE").upper() in ENV_VARS_TRUE_VALUES.union({"TRUE"})
@ -1464,6 +1465,7 @@ class ClearMLCallback(TrainerCallback):
if self._clearml.Task.current_task():
self._clearml_task = self._clearml.Task.current_task()
self._initialized = True
self._initialized_externally = True
logger.info("External ClearML Task has been connected.")
else:
self._clearml_task = self._clearml.Task.init(
@ -1490,7 +1492,7 @@ class ClearMLCallback(TrainerCallback):
def on_train_end(self, args, state, control, model=None, tokenizer=None, metrics=None, logs=None, **kwargs):
if self._clearml is None:
return
if self._clearml_task and state.is_world_process_zero:
if self._clearml_task and state.is_world_process_zero and not self._initialized_externally:
# Close ClearML Task at the end end of training
self._clearml_task.close()