Esempio n. 1
0
def test_check_repeated_params():
    searchspace = SearchSpace()
    searchspace.add_enum('x', [1, 2])
    searchspace.add_jump('y', min=3, max=4, num=2)

    history = []
    grid_search1 = GridSearch()
    for _ in range(4):
        params = grid_search1.suggest(history, searchspace)
        history.append((params, 0.0, 'SUCCEEDED'))

    grid_search2 = GridSearch()
    for _ in range(4):
        params = grid_search2.suggest(history, searchspace)
        assert grid_search2.is_repeated_suggestion(params, history)

    history = []
    grid_search3 = GridSearch()
    for _ in range(4):
        params = grid_search3.suggest(history, searchspace)
        history.append((params, 0.0, 'FAILED'))

    grid_search4 = GridSearch()
    for _ in range(4):
        params = grid_search4.suggest(history, searchspace)
        assert not grid_search4.is_repeated_suggestion(params, history)
Esempio n. 2
0
def test_moe_rest_1():
    moe_url = os.environ.get('MOE_API_URL', 'http://ERROR-sdjssfssdbsdf.com')
    try:
        request.urlopen(moe_url)
    except error.URLError:
        raise nose.SkipTest(
            'No available MOE REST API endpoint (set with '
            'MOE_API_URL environment variable)')

    searchspace = SearchSpace()
    searchspace.add_float('x', -10, 10)
    searchspace.add_float('y', 1, 10, warp='log')
    searchspace.add_int('z', -10, 10)
    searchspace.add_enum('w', ['opt1', 'opt2'])

    history = [(searchspace.rvs(), np.random.random(), 'SUCCEEDED')
               for _ in range(4)]
    params = MOE(url=moe_url).suggest(history, searchspace)
    for k, v in iteritems(params):
        assert k in searchspace.variables
        if isinstance(searchspace[k], EnumVariable):
            assert v in searchspace[k].choices
        elif isinstance(searchspace[k], FloatVariable):
            assert searchspace[k].min <= v <= searchspace[k].max
        elif isinstance(searchspace[k], IntVariable):
            assert searchspace[k].min <= v <= searchspace[k].max
        else:
            assert False
Esempio n. 3
0
def test_4_1():
    s = SearchSpace()
    s.add_enum('c', [True, False])

    values = [s.rvs()['c'] for _ in range(100)]
    assert all(v in [True, False] for v in values)
    _run_chi2_test(np.array(values, dtype=int), bin_edges=range(3))
Esempio n. 4
0
def test_4_1():
    s = SearchSpace()
    s.add_enum('c', [True, False])

    values = [s.rvs()['c'] for _ in range(100)]
    assert all(v in [True, False] for v in values)
    _run_chi2_test(np.array(values, dtype=int), bin_edges=range(3))
Esempio n. 5
0
def test_check_repeated_params():
    searchspace = SearchSpace()
    searchspace.add_enum('x', [1, 2])
    searchspace.add_jump('y', min=3, max=4, num=2)

    history = []
    grid_search1 = GridSearch()
    for _ in range(4):
        params = grid_search1.suggest(history, searchspace)
        history.append((params, 0.0, 'SUCCEEDED'))

    grid_search2 = GridSearch()
    for _ in range(4):
        params = grid_search2.suggest(history, searchspace)
        assert grid_search2.is_repeated_suggestion(params, history)

    history = []
    grid_search3 = GridSearch()
    for _ in range(4):
        params = grid_search3.suggest(history, searchspace)
        history.append((params, 0.0, 'FAILED'))

    grid_search4 = GridSearch()
    for _ in range(4):
        params = grid_search4.suggest(history, searchspace)
        assert not grid_search4.is_repeated_suggestion(params, history)
Esempio n. 6
0
def test_4_2():
    s = SearchSpace()
    s.add_enum('c', [True, False])

    values = [pyll.stochastic.sample(s['c'].to_hyperopt())
              for _ in xrange(100)]
    assert all(v in [True, False] for v in values)
    _run_chi2_test(np.array(values, dtype=int), bin_edges=range(3))
Esempio n. 7
0
def test_grid():
    searchspace = SearchSpace()
    searchspace.add_enum('x', [1, 2])
    searchspace.add_jump('y', min=3, max=4, num=2)
    grid_search = GridSearch()
    suggestions = [grid_search.suggest([], searchspace) for _ in range(4)]
    suggestions = [(s['x'], s['y']) for s in suggestions]
    assert suggestions == [(1, 3), (1, 4), (2, 3), (2, 4)], "Didn't examine whole space correctly"
Esempio n. 8
0
def test_4_2():
    s = SearchSpace()
    s.add_enum('c', [True, False])

    values = [pyll.stochastic.sample(s['c'].to_hyperopt())
              for _ in xrange(100)]
    assert all(v in [True, False] for v in values)
    _run_chi2_test(np.array(values, dtype=int), bin_edges=range(3))
Esempio n. 9
0
def test_grid():
    searchspace = SearchSpace()
    searchspace.add_enum('x', [1, 2])
    searchspace.add_jump('y', min=3, max=4, num=2)
    grid_search = GridSearch()
    suggestions = [grid_search.suggest([], searchspace) for _ in range(4)]
    suggestions = [(s['x'], s['y']) for s in suggestions]
    assert suggestions == [(1, 3), (1, 4), (2, 3),
                           (2, 4)], "Didn't examine whole space correctly"
Esempio n. 10
0
def test_1():
    s = SearchSpace()
    s.add_int('a', 1, 2)
    s.add_float('b', 2, 3)
    s.add_enum('c', ['a', 'b', 'c'])

    assert s.n_dims == 3

    assert s['a'].min == 1
    assert s['a'].max == 2
    assert s['a'].name == 'a'

    assert s['b'].min == 2
    assert s['b'].max == 3
    assert s['b'].name == 'b'

    assert s['c'].choices == ['a', 'b', 'c']
    assert s['c'].name == 'c'
Esempio n. 11
0
def test_1():
    s = SearchSpace()
    s.add_int('a', 1, 2)
    s.add_float('b', 2, 3)
    s.add_enum('c', ['a', 'b', 'c'])

    assert s.n_dims == 3

    assert s['a'].min == 1
    assert s['a'].max == 2
    assert s['a'].name == 'a'

    assert s['b'].min == 2
    assert s['b'].max == 3
    assert s['b'].name == 'b'

    assert s['c'].choices == ['a', 'b', 'c']
    assert s['c'].name == 'c'
Esempio n. 12
0
def test_gp():
    searchspace = SearchSpace()
    searchspace.add_float('x', -10, 10)
    searchspace.add_float('y', 1, 10, warp='log')
    searchspace.add_int('z', -10, 10)
    searchspace.add_enum('w', ['opt1', 'opt2'])

    history = [(searchspace.rvs(), np.random.random(), 'SUCCEEDED')
               for _ in range(4)]
    params = GP().suggest(history, searchspace)
    for k, v in iteritems(params):
        assert k in searchspace.variables
        if isinstance(searchspace[k], EnumVariable):
            assert v in searchspace[k].choices
        elif isinstance(searchspace[k], FloatVariable):
            assert searchspace[k].min <= v <= searchspace[k].max
        elif isinstance(searchspace[k], IntVariable):
            assert searchspace[k].min <= v <= searchspace[k].max
        else:
            assert False
Esempio n. 13
0
def test_gp():
    searchspace = SearchSpace()
    searchspace.add_float('x', -10, 10)
    searchspace.add_float('y', 1, 10, warp='log')
    searchspace.add_int('z', -10, 10)
    searchspace.add_enum('w', ['opt1', 'opt2'])

    history = [(searchspace.rvs(), np.random.random(), 'SUCCEEDED')
               for _ in range(4)]
    params = GP().suggest(history, searchspace)
    for k, v in iteritems(params):
        assert k in searchspace.variables
        if isinstance(searchspace[k], EnumVariable):
            assert v in searchspace[k].choices
        elif isinstance(searchspace[k], FloatVariable):
            assert searchspace[k].min <= v <= searchspace[k].max
        elif isinstance(searchspace[k], IntVariable):
            assert searchspace[k].min <= v <= searchspace[k].max
        else:
            assert False