Unverified Commit 9e78c9ac authored by eajechiloae's avatar eajechiloae Committed by GitHub
Browse files

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

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