docstr: Get hyper-parameters for this task.
  Returns a dictionary mapping user property name to user property details dict.
  :param sections: Return only hyper-params in the provided sections
  :param selector: A callable selecting which hyper-parameters should be returned
  :param projector: A callable to project values before they are returned
  :param return_obj: If True, returned dictionary values are API objects (tasks.ParamsItem). If ``projeictor
docstr_tok: ["Get","hyper-parameters","for","this","task",".","Returns","a","dictionary","mapping","user","property","name","to","user","property","details","dict",".",":","param","sections",":","Return","only","hyper-params","in","the","provided","sections",":","param","selector",":","A","callable","selecting","which","hyper-parameters","should","be","returned",":","param","projector",":","A","callable","to","project","values","before","they","are","returned",":","param","return_obj",":","If","True",",","returned","dictionary","values","are","API","objects","(","tasks.ParamsItem",")",".","If","``","projeictor"]
code: def get_hyper_params(
      self,
      sections=None,  # type: Optional[Sequence[str]]
      selector=None,  # type: Optional[Callable[[dict], bool]]
      projector=None,  # type: Optional[Callable[[dict], Any]]
      return_obj=False,  # type: Optional[bool]
  ):
      # type: (...) -> Dict[str, Dict[Union[dict, Any]]]
      """
      Get hyper-parameters for this task.
      Returns a dictionary mapping user property name to user property details dict.
      :param sections: Return only hyper-params in the provided sections
      :param selector: A callable selecting which hyper-parameters should be returned
      :param projector: A callable to project values before they are returned
      :param return_obj: If True, returned dictionary values are API objects (tasks.ParamsItem). If ``projeictor
      """
      if not Session.check_min_api_version("2.9"):
          raise ValueError("Not supported by server")
  
      task_id = self.task.task_id
  
      res = self.task.session.send(
          tasks.GetHyperParamsRequest(tasks=[task_id])
      )
      hyperparams = defaultdict(defaultdict)
      if res.ok() and res.response.params:
          for entry in res.response.params:
              if entry.get("task") == task_id:
                  for item in entry.get("hyperparams", []):
                      # noinspection PyBroadException
                      try:
                          if (
                              sections
                              and item.get("section") not in sections
                          ) or (selector and not selector(item)):
                              continue
                          if return_obj:
                              item = tasks.ParamsItem()
                          hyperparams[item.get("section")][
                              item.get("name")
                          ] = (
                              item if not projector else projector(item)
                          )
                      except Exception:
                          self.task.log.exception(
                              "Failed processing hyper-parameter"
                          )
      return hyperparams
  
file_path: clearml/clearml/backend_interface/task/hyperparams.py
imports: from collections import defaultdict
  from typing import Optional, Any, Sequence, Callable, Mapping, Union, Dict, Iterable, Generator
  from ...backend_api import Session
  from ...backend_api.services import tasks
label_desc: Use image node_id 2 for calling the HyperParams obj's underlying member method code with example usage: obj.get_hyper_params(sections, selector, projector, return_obj) and returns: hyperparams