code: def _patched_hydra_run(
      self, config_name, task_function, overrides, *args, **kwargs
  ):
      PatchHydra._default_hydra_context = self
      PatchHydra._allow_omegaconf_edit = False
      if not running_remotely():
          return PatchHydra._original_hydra_run(
              self,
              config_name,
              task_function,
              overrides,
              *args,
              **kwargs,
          )
  
      # get the parameters from the backend
      # noinspection PyBroadException
      try:
          if not PatchHydra._current_task:
              from ..task import Task
  
              PatchHydra._current_task = Task.get_task(
                  task_id=get_remote_task_id()
              )
          # get the _parameter_allow_full_edit casted back to boolean
          connected_config = {}
          connected_config[
              PatchHydra._parameter_allow_full_edit
          ] = False
          PatchHydra._current_task.connect(
              connected_config, name=PatchHydra._parameter_section
          )
          PatchHydra._allow_omegaconf_edit = connected_config.pop(
              PatchHydra._parameter_allow_full_edit, None
          )
          # get all the overrides
          full_parameters = PatchHydra._current_task.get_parameters(
              backwards_compatibility=False
          )
          stored_config = {
              k[len(PatchHydra._parameter_section) + 1 :]: v
              for k, v in full_parameters.items()
              if k.startswith(PatchHydra._parameter_section + "/")
          }
          stored_config.pop(PatchHydra._parameter_allow_full_edit, None)
          for override_k, override_v in stored_config.items():
              new_override = override_k
              if override_v is not None and override_v != "":
                  new_override += "=" + override_v
              if not new_override.startswith(
                  "~"
              ) and not PatchHydra._is_group(self, new_override):
                  new_override = "++" + new_override.lstrip("+")
              overrides.append(new_override)
          PatchHydra._should_delete_overrides = True
      except Exception:
          pass
  
      return PatchHydra._original_hydra_run(
          self, config_name, task_function, overrides, *args, **kwargs
      )
  
file_path: clearml/clearml/binding/hydra_bind.py
imports: import io
  import sys
  from functools import partial
  from ..config import running_remotely, get_remote_task_id, DEV_TASK_NO_REUSE
  from ..debugging.log import LoggerRoot
label_desc: Use image node_id 4 for calling the PatchHydra obj's underlying member method code with example usage: obj._patched_hydra_run(config_name, task_function, overrides) and returns: PatchHydra, PatchHydra