class_docstr: Controller control the sample-score flow in the 1st phase.
  It records the results in the history.
class_docstr_tok: ["Controller","control","the","sample-score","flow","in","the","1st","phase",".","It","records","the","results","in","the","history","."]
docstr: :param arch_id:
  :param alg_score: {alg_name1: score1, alg_name2: score2}
  :param simple_score_sum: if simply sum multiple scores (good performing),
                       or sum over their rank (worse performing)
  :return:
docstr_tok: [":","param","arch_id",":",":","param","alg_score",":","{","alg_name1",":","score1",",","alg_name2",":","score2","}",":","param","simple_score_sum",":","if","simply","sum","multiple","scores","(","good","performing",")",",","or","sum","over","their","rank","(","worse","performing",")",":","return",":"]
code: def fit_sampler(
      self,
      arch_id: str,
      alg_score: dict,
      simple_score_sum: bool = False,
  ) -> float:
      """
      :param arch_id:
      :param alg_score: {alg_name1: score1, alg_name2: score2}
      :param simple_score_sum: if simply sum multiple scores (good performing),
                           or sum over their rank (worse performing)
      :return:
      """
      if simple_score_sum or len(alg_score.keys()) == 1:
          score = self._use_pure_score_as_final_res(arch_id, alg_score)
      else:
          score = self._use_vote_rank_as_final_res(arch_id, alg_score)
      self.search_strategy.fit_sampler(score)
      return score
  
file_path: singa/examples/model_selection/TRAILS-Database-Native-Model-Selection/internal/ml/model_selection/src/controller/controler.py
imports: import time
  from src.controller.core.sample import Sampler
  from src.third_pkg.models import CellStructure
label_desc: Use image node_id 3 for calling the SampleController obj's underlying member method code with example usage: obj.fit_sampler(arch_id, alg_score, simple_score_sum) and returns: score