コード例 #1
0
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])
コード例 #2
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])
コード例 #3
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])
コード例 #4
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))