def test_suggest_in_finite_cardinality(self): """Test that suggest None when search space is empty""" space = Space() space.register(Integer("yolo1", "uniform", 0, 5)) space.register(Fidelity("epoch", 1, 9, 3)) asha = ASHA(space) for i in range(6): force_observe( asha, create_trial( (1, i), names=("epoch", "yolo1"), types=("fidelity", "integer"), results={"objective": i}, ), ) for i in range(2): force_observe( asha, create_trial( (3, i), names=("epoch", "yolo1"), types=("fidelity", "integer"), results={"objective": i}, ), ) assert asha.suggest(1) == []
def rung_4(space1: Space): """Create duplicated fake points and objectives for rung 4.""" points = np.linspace(1, 4, 4) keys = list(space1.keys()) types = [dim.type for dim in space1.values()] results: dict[str, tuple[float, Trial]] = {} for point in points: trial = create_trial( (1, point // 2, point // 2), names=keys, results={"objective": point}, types=types, ) trial_hash = trial.compute_trial_hash( trial, ignore_fidelity=True, ignore_experiment=True, ) assert trial.objective is not None results[trial_hash] = (trial.objective.value, trial) return RungDict( n_trials=4, resources=1, results=results, )
def create_trial_for_hb(point, objective=None): return create_trial( point, names=("epoch", "lr"), results={"objective": objective}, types=("fidelity", "real"), )
def rung_3(space1): """Create fake points and objectives for rung 3.""" points = np.linspace(1, 4, 4) keys = list(space1.keys()) types = [dim.type for dim in space1.values()] results = {} for point in points: trial = create_trial( (np.power(2, (point - 1)), 1.0 / point, 1.0 / (point * point)), names=keys, results={"objective": point}, types=types, ) trial_hash = trial.compute_trial_hash( trial, ignore_fidelity=True, ignore_experiment=True, ) results[trial_hash] = (trial.objective.value, trial) return dict( n_trials=4, resources=1, results=results, )
def create_trial_for_hb(point: Sequence[Any], objective: float | None = None) -> Trial: return create_trial( point, names=("epoch", "lr"), results={"objective": objective}, types=("fidelity", "real"), )
def test_suggest_in_finite_cardinality(self): """Test that suggest None when search space is empty""" space = Space() space.register(Integer("yolo1", "uniform", 0, 5)) space.register(Fidelity("epoch", 1, 9, 3)) hyperband = Hyperband(space, repetitions=1) for i in range(6): force_observe( hyperband, create_trial( (1, i), names=("epoch", "yolo1"), types=("fidelity", "integer"), results={"objective": i}, ), ) assert hyperband.suggest(100) == []