Beispiel #1
0
def test_multi_normal_serialization_deserialization():
    h1 = hp.MultiNormalContinuousHyperParameter('h1', 0.0, 1.0, sample_count=5)

    config = h1.get_config()
    assert 'name' in config
    assert 'mean' in config
    assert 'std' in config
    assert 'sample_count' in config

    mean, std = config['mean'], config['std']
    assert mean == 0.0
    assert std == 1.0
    assert config['sample_count'] == 5

    h2 = hp.MultiNormalContinuousHyperParameter.load_from_config(config)
    config = h2.get_config()

    assert 'name' in config
    assert 'mean' in config
    assert 'std' in config
    assert 'sample_count' in config

    mean, std = config['mean'], config['std']
    assert mean == 0.0
    assert std == 1.0
    assert config['sample_count'] == 5
Beispiel #2
0
def test_continuous_multi_normal_encode_decode():
    h1 = hp.MultiNormalContinuousHyperParameter('h1', 0.0, 1.0, sample_count=3)
    sample = h1.sample()

    encoded = h1.encode(sample)
    assert encoded == sample

    decoded = h1.decode(encoded)
    assert decoded == sample
Beispiel #3
0
def test_continuous_multi_normal():
    h1 = hp.MultiNormalContinuousHyperParameter('h1', 0.0, 1.0, sample_count=5)

    assert h1.name == 'h1'
    assert h1.num_choices == 0
    assert h1.mean == 0.0
    assert h1.std == 1.0
    assert repr(h1)
    assert h1.sample_count == 5
Beispiel #4
0
def test_continuous_normal_sample():
    h1 = hp.MultiNormalContinuousHyperParameter('h1',
                                                0.0,
                                                1.0,
                                                sample_count=1000)
    sample = [h1.sample() for _ in range(10)]
    mean = np.mean(sample)
    std = np.std(sample)
    assert np.allclose(mean, 0.0, atol=0.025)
    assert np.allclose(std, 1.0, atol=0.025)
Beispiel #5
0
def test_continuous_multi_normal_no_values():
    with pytest.raises(ValueError):
        hp.MultiNormalContinuousHyperParameter(None, 0, 1)

    with pytest.raises(ValueError):
        hp.MultiNormalContinuousHyperParameter('h1', None, None)