def test_set_state(space): """Verify that resetting state makes sampling deterministic""" optimizer = PrimaryAlgo(space, 'hyperband') optimizer.seed_rng(1) state = optimizer.state_dict a = optimizer.suggest(1)[0] assert not numpy.allclose(a, optimizer.suggest(1)[0]) optimizer.set_state(state) assert numpy.allclose(a, optimizer.suggest(1)[0])
def test_set_state(space): """Verify that resetting state makes sampling deterministic""" bayesian_optimizer = PrimaryAlgo(space, 'bayesianoptimizer') bayesian_optimizer.seed_rng(1) state = bayesian_optimizer.state_dict a = bayesian_optimizer.suggest(1)[0] assert not numpy.allclose(a, bayesian_optimizer.suggest(1)[0]) bayesian_optimizer.set_state(state) assert numpy.allclose(a, bayesian_optimizer.suggest(1)[0])
def test_set_state(space): """Verify that resetting state makes sampling deterministic""" optimizer = PrimaryAlgo(space, "meshadaptivedirectsearch") optimizer.seed_rng(1) state = optimizer.state_dict a = optimizer.suggest(1)[0] with pytest.raises(AssertionError): numpy.testing.assert_equal(a, optimizer.suggest(1)[0]) optimizer.set_state(state) numpy.testing.assert_equal(a, optimizer.suggest(1)[0])
def test_set_state(space): """Test that state is reset properly""" optimizer = PrimaryAlgo(space, 'hyperband') optimizer.seed_rng(1) state = optimizer.state_dict points = optimizer.suggest(1) # Hyperband will always return the full first rung assert numpy.allclose(points, optimizer.suggest(1)) optimizer.seed_rng(2) assert not numpy.allclose(points, optimizer.suggest(1)) optimizer.set_state(state) assert numpy.allclose(points, optimizer.suggest(1))