code: def schedule_budget_per_model_based_on_T(
      self, space_name, fixed_time_budget, K_
  ):
      # for benchmarking only phase 2
  
      # try different K and U combinations
      # only consider 15625 arches in this paper
      # min_budget_required: when K = 1, N = min_budget_required * 1
      if space_name == Config.NB101:
          U_options = [4, 12, 16, 108]
      else:
          U_options = list(range(1, 200))
  
      history = []
  
      for U in U_options:
          expected_time_used = (
              self.pre_calculate_epoch_required(K_, U)
              * self.time_per_epoch
          )
          if expected_time_used > fixed_time_budget:
              break
          else:
              history.append(U)
      return history[-1]
  
file_path: singa/examples/model_selection/TRAILS-Database-Native-Model-Selection/internal/ml/model_selection/src/eva_engine/phase2/run_uniform.py
imports: from copy import copy
  from random import randint
  from src.common.constant import Config
label_desc: Use image node_id 2 for calling the UniformAllocation obj's underlying member method code with example usage: obj.schedule_budget_per_model_based_on_T(space_name, fixed_time_budget, K_) and returns: history