def setUp(self): l1 = log(low=-3, high=5, base=10) l2 = log(low=-2, high=3, base=10) u = uniform(low=-1, high=1) qu = quantized_uniform(low=1, high=20, step=1) self.space = Space([{ "algo": { "svm": { "C": l1, "kernel": { "linear": None, "rbf": { "gamma": l2 } }, "cond2": { "aa": None, "bb": { "abc": u } } }, "knn": { "n_neighbors": qu } } }, { "cond3": 0, "p": l1, "p2": qu }])
def test_conditional_space(self): u = uniform(0.0, 2) l = uniform(1, 4) qu = uniform(0.01, 1) ql = uniform(5, 10) s = [{ "k1": "a", "k2": "b", "a": u, "b": l }, { "k1": "a", "k2": "c", "a": qu, "c": ql }] space = Space(s) space_read = self.conn.get_space() self.assertEqual(space_read, None) self.conn.insert_space(space) space_read = self.conn.get_space() self.assertEqual(space, space_read) self.assertRaises(AssertionError, self.conn.insert_space, space)
def test_pickle(self): data = [{ "abc": 0, "def": 2 }, { "abc": 1 }, { "def": 42, "abc": 67, "hij": 23 }] comp = [{ "abc": 0, "def": 2 }, { "abc": 1 }, { "def": 42, "abc": 67, "hij": 23 }] space = { "a": uniform(1, 2), "b": { "c": { "c1": uniform(0, 5) }, "d": { "d1": uniform(0, 6) } } } for d in data: self.conn.insert_result(d) for c in comp: self.conn.insert_complementary(c) self.conn.insert_space(Space(space)) s = pickle.dumps(self.conn) l = pickle.loads(s) self.assertEqual(self.conn.results.equals(l.results), True) self.assertEqual(self.conn.complementary.equals(l.complementary), True) self.assertEqual(l.space, self.conn.space)
def test_space(self): s = { "a": uniform(1, 2), "b": { "c": { "c1": uniform(0, 5) }, "d": { "d1": uniform(0, 6) } } } space = Space(s) space_read = self.conn.get_space() self.assertEqual(space_read, None) self.conn.insert_space(space) space_read = self.conn.get_space() self.assertEqual(space, space_read) self.assertRaises(AssertionError, self.conn.insert_space, space)
class TestSplitSpace(unittest.TestCase): def setUp(self): l1 = log(low=-3, high=5, base=10) l2 = log(low=-2, high=3, base=10) u = uniform(low=-1, high=1) qu = quantized_uniform(low=1, high=20, step=1) self.space = Space([{ "algo": { "svm": { "C": l1, "kernel": { "linear": None, "rbf": { "gamma": l2 } }, "cond2": { "aa": None, "bb": { "abc": u } } }, "knn": { "n_neighbors": qu } } }, { "cond3": 0, "p": l1, "p2": qu }]) def test_names(self): subspaces_keys = set(k for s in split_space(self.space) for k in s([0] * len(s)).keys()) self.assertSetEqual(set(self.space.names()), subspaces_keys)