code: def get_hyper(
      hyper,
      job_type=_DEFAULT_JOB_TYPE,
      abnormality=_DEFAULT_ABNORMALITY,
  ):
      """Defines the hyper-parameters sweeps for doing grid search."""
      if abnormality not in [
          "del5_simple",
          "del5_net",
          "t922_chrm22",
          "t922_chrm9",
      ]:
          raise ValueError(
              'abnormality must be specified; got "%r"' % abnormality
          )
      if job_type not in ["start_from_scratch", "finetune", "eval"]:
          raise ValueError(
              'job_type must be specified; got "%r"' % job_type
          )
      num_train_abnormals = _NUM_TRAIN_ABNORMALS[abnormality]
  
      if job_type == "eval":
          # Model inference will be run for each (xid, wid) in the list below.
          if abnormality == "del5_simple":
              hparams = [
                  hyper.sweep(
                      "config.init_from.xm",
                      [
                          (42902421, 25),  # from-scratch
                          (42902394, 25),  # fine-tuning
                      ],
                  )
              ]
          elif abnormality == "del5_net":
              hparams = [
                  hyper.sweep("config.init_from.xm", [])
              ]  # ChrmID model is default
          elif abnormality == "t922_chrm22":
              hparams = [
                  hyper.sweep(
                      "config.init_from.xm",
                      [
                          (43256082, 25),  # fine-tuning
                          (43275768, 25),  # from-scratch
                      ],
                  )
              ]
          elif abnormality == "t922_chrm9":
              hparams = [
                  hyper.sweep(
                      "config.init_from.xm",
                      [
                          (43275868, 25),  # fine-tuning
                          (43252546, 25),  # from-scratch
                      ],
                  )
              ]
      else:
          hparams = [
              hyper.chainit(
                  [
                      hyper.product(
                          [
                              hyper.sweep(
                                  "config.dataset_configs.num_abnormal",
                                  [3, 10, 30, 300],
                              ),
                              hyper.sweep(
                                  "config.dataset_configs.replica",
                                  [0, 1, 2, 3, 4],
                              ),
                          ]
                      ),
                      hyper.product(
                          [
                              hyper.sweep(
                                  "config.dataset_configs.num_abnormal",
                                  [num_train_abnormals],
                              ),
                              hyper.sweep(
                                  "config.dataset_configs.replica",
                                  [0, 0, 0, 0, 0],
                              ),
                          ]
                      ),
                  ]
              )
          ]
      return hyper.chainit(hparams)
  
label_desc: Use image node_id 2 for calling a global function with example usage: get_hyper(hyper, job_type, abnormality) and returns: hyper