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))
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
def test_3_1(): s = SearchSpace() s.add_float('b', -2, 2) values = [s.rvs()['b'] for _ in range(100)] assert all(-2 < v < 2 for v in values) _run_chi2_test(values, bin_edges=np.linspace(-2, 2, 10))
def test_5_1(): s = SearchSpace() s.add_float('a', 1e-5, 1, warp='log') n_bins = 10 n_samples = 1000 bin_edges = np.logspace(np.log10(s['a'].min), np.log10(s['a'].max), num=n_bins+1) values = [s.rvs()['a'] for _ in xrange(n_samples)] _run_chi2_test(values, bin_edges)
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
def test_2_1(): s = SearchSpace() s.add_int('a', 0, 3) values = [s.rvs()['a'] for _ in xrange(100)] _run_chi2_test(values, bin_edges=range(5))