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
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
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
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)
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)