Ejemplo n.º 1
0
def test_bayesopt_batch(parameters, results):
    gpyopt = GPyOpt(max_concurrent=10)
    gpyopt.domain = gpyopt._initialize_domain(parameters)
    gpyopt.lower_is_better = True
    X, y, y_var = GPyOpt._prepare_data_for_bayes_opt(parameters, results)
    domain = gpyopt._initialize_domain(parameters)
    batch = gpyopt._generate_bayesopt_batch(X,
                                            y,
                                            lower_is_better=True,
                                            domain=domain)

    assert batch.shape == (10, 4)
Ejemplo n.º 2
0
def test_bayesopt_batch(parameters, results, transforms):
    gpyopt = GPyOpt(max_concurrent=10)
    domain = gpyopt._initialize_domain(parameters, transforms)
    X, y = GPyOpt._prepare_data_for_bayes_opt(parameters, results, transforms)
    batch = gpyopt._generate_bayesopt_batch(domain, X, y, lower_is_better=True)

    assert batch.shape == (10, 5)
Ejemplo n.º 3
0
def test_transformation_to_gpyopt_domain_log_continuous(parameters):
    domain = GPyOpt._initialize_domain(parameters)
    for p, d in zip(parameters, domain):
        assert d['name'] == p.name
        assert d['type'] == 'continuous'
        assert d['domain'] == tuple(
            [numpy.log10(p.range[0]),
             numpy.log10(p.range[1])])
Ejemplo n.º 4
0
def test_transformation_to_gpyopt_domain_with_multiple_parameters(parameters):
    domain = GPyOpt._initialize_domain(parameters)

    assert {
        'name': 'dropout',
        'type': 'continuous',
        'domain': (0., 0.5)
    } == domain[0]
    assert {
        'name': 'lr',
        'type': 'continuous',
        'domain': (-7, -1)
    } == domain[1]
    assert domain[2]['name'] == 'activation'
    assert domain[2]['type'] == 'categorical'
    assert numpy.array_equal(domain[2]['domain'], numpy.array([0, 1, 2]))
    assert {
        'name': 'num_hidden',
        'type': 'discrete',
        'domain': tuple(range(100, 301))
    } == domain[3]
Ejemplo n.º 5
0
def test_domain(parameters, transforms):
    domain = GPyOpt._initialize_domain(parameters, transforms)

    assert {
        'name': 'dropout',
        'type': 'continuous',
        'domain': (0., 0.5)
    } in domain
    assert {'name': 'lr', 'type': 'continuous', 'domain': (-7, -1)} in domain
    assert {
        'name': 'activation',
        'type': 'discrete',
        'domain': (0, 1, 2)
    } in domain
    assert {
        'name': 'num_hidden',
        'type': 'continuous',
        'domain': (100, 300)
    } in domain
    assert {
        'name': 'batch_size',
        'type': 'continuous',
        'domain': (0, 3)
    } in domain
Ejemplo n.º 6
0
def test_transformation_to_gpyopt_domain_log_discrete():
    parameters = [sherpa.Discrete('a', [1, 100], 'log')]
    with pytest.warns(UserWarning, match='does not support log-scale'):
        GPyOpt._initialize_domain(parameters)
Ejemplo n.º 7
0
def test_transformation_to_gpyopt_domain_discrete(parameters):
    domain = GPyOpt._initialize_domain(parameters)
    for p, d in zip(parameters, domain):
        assert d['name'] == p.name
        assert d['type'] == 'discrete'
        assert d['domain'] == tuple(range(p.range[0], p.range[1] + 1))