From 308bbe88ed593a7fd292d170c41af315cb160942 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Fri, 29 Oct 2021 22:56:44 +0300 Subject: [PATCH] Fix Task.get_task() does not load output_uri from stored Task --- clearml/backend_interface/task/task.py | 8 ++++++-- clearml/task.py | 6 +----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/clearml/backend_interface/task/task.py b/clearml/backend_interface/task/task.py index 3fbc8674..65031587 100644 --- a/clearml/backend_interface/task/task.py +++ b/clearml/backend_interface/task/task.py @@ -171,7 +171,7 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): self.name = task_name else: # this is an existing task, let's try to verify stuff - self._validate() + self._validate(check_output_dest_credentials=False) if self.data is None: raise ValueError("Task ID \"{}\" could not be found".format(self.id)) @@ -184,7 +184,11 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): self._artifacts_manager = Artifacts(self) self._hyper_params_manager = HyperParams(self) - def _validate(self, check_output_dest_credentials=True): + def _validate(self, check_output_dest_credentials=False): + if not self._is_remote_main_task(): + self._storage_uri = self.get_output_destination(raise_on_error=False, log_on_error=False) or None + return + raise_errors = self._raise_on_validation_errors output_dest = self.get_output_destination(raise_on_error=False, log_on_error=False) if output_dest and check_output_dest_credentials: diff --git a/clearml/task.py b/clearml/task.py index 4f196d11..9d7db26a 100644 --- a/clearml/task.py +++ b/clearml/task.py @@ -206,7 +206,7 @@ class Task(_Task): auto_resource_monitoring=True, # type: bool auto_connect_streams=True, # type: Union[bool, Mapping[str, bool]] ): - # type: (...) -> Task + # type: (...) -> "Task" """ Creates a new Task (experiment) if: @@ -2984,10 +2984,6 @@ class Task(_Task): self._connect_dictionary(a_dict, name) return an_object - def _validate(self, check_output_dest_credentials=False): - if running_remotely(): - super(Task, self)._validate(check_output_dest_credentials=False) - def _dev_mode_stop_task(self, stop_reason, pid=None): # make sure we do not get called (by a daemon thread) after at_exit if self._at_exit_called: