code: def _parse_model_hp(model):
      assert isinstance(model, dict)
      if "encoder" in model and "decoder" in model:
          if "prediction_head" in model:
              return {
                  "encoder": _parse_hp_space(
                      model["encoder"].pop("hp_space", None)
                  ),
                  "decoder": _parse_hp_space(
                      model["decoder"].pop("hp_space", None)
                  ),
                  "prediction_head": _parse_hp_space(
                      model["prediction_head"].pop("hp_space", None)
                  ),
              }
          else:
              return {
                  "encoder": _parse_hp_space(
                      model["encoder"].pop("hp_space", None)
                  ),
                  "decoder": _parse_hp_space(
                      model["decoder"].pop("hp_space", None)
                  ),
              }
      elif "encoder" in model:
          return {
              "encoder": _parse_hp_space(
                  model["encoder"].pop("hp_space", None)
              ),
              "decoder": None,
          }
      else:
          return _parse_hp_space(model.pop("hp_space", None))
  
imports: from ....module.model import EncoderUniversalRegistry, DecoderUniversalRegistry, ModelUniversalRegistry
label_desc: Use image node_id 2 for calling a global function with example usage: _parse_model_hp(model) and returns: dict, dict, dict, _parse_hp_space