def test_sample_from_extra_bounds_good(self): """Randomized test **successful** sampling with the extra bounds.""" dim = Real('yolo', 'norm', 0, 2, low=-5, high=+5, shape=(4, 4)) for _ in range(8): samples = dim.sample(8) for sample in samples: assert sample in dim
def test_sample(self): """Check whether sampling works correctly.""" seed = 5 space = Space() probs = (0.1, 0.2, 0.3, 0.4) categories = ("asdfa", 2, 3, 4) dim1 = Categorical("yolo", OrderedDict(zip(categories, probs)), shape=(2, 2)) space.register(dim1) dim2 = Integer("yolo2", "uniform", -3, 6) space.register(dim2) dim3 = Real("yolo3", "norm", 0.9) space.register(dim3) point = space.sample(seed=seed) rng = check_random_state(seed) test_point = [ dict( yolo=dim1.sample(seed=rng)[0], yolo2=dim2.sample(seed=rng)[0], yolo3=dim3.sample(seed=rng)[0], ) ] assert len(point) == len(test_point) == 1 assert len(point[0].params) == len(test_point[0]) == 3 assert np.all(point[0].params["yolo"] == test_point[0]["yolo"]) assert point[0].params["yolo2"] == test_point[0]["yolo2"] assert point[0].params["yolo3"] == test_point[0]["yolo3"] points = space.sample(2, seed=seed) rng = check_random_state(seed) points1 = dim1.sample(2, seed=rng) points2 = dim2.sample(2, seed=rng) points3 = dim3.sample(2, seed=rng) test_points = [ dict(yolo=points1[0], yolo2=points2[0], yolo3=points3[0]), dict(yolo=points1[1], yolo2=points2[1], yolo3=points3[1]), ] assert len(points) == len(test_points) == 2 for i in range(2): assert len(points[i].params) == len(test_points[i]) == 3 assert np.all(points[i].params["yolo"] == test_points[i]["yolo"]) assert points[i].params["yolo2"] == test_points[i]["yolo2"] assert points[i].params["yolo3"] == test_points[i]["yolo3"]
def test_sample(self, seed): """Check whether sampling works correctly.""" space = Space() probs = (0.1, 0.2, 0.3, 0.4) categories = ("asdfa", 2, 3, 4) dim1 = Categorical("yolo", OrderedDict(zip(categories, probs)), shape=(2, 2)) space.register(dim1) dim2 = Integer("yolo2", "uniform", -3, 6) space.register(dim2) dim3 = Real("yolo3", "norm", 0.9) space.register(dim3) point = space.sample(seed=seed) test_point = [ (dim1.sample()[0], dim2.sample()[0], dim3.sample()[0]), ] assert len(point) == len(test_point) == 1 assert len(point[0]) == len(test_point[0]) == 3 assert np.all(point[0][0] == test_point[0][0]) assert point[0][1] == test_point[0][1] assert point[0][2] == test_point[0][2] points = space.sample(2, seed=seed) points1 = dim1.sample(2) points2 = dim2.sample(2) points3 = dim3.sample(2) test_points = [ (points1[0], points2[0], points3[0]), (points1[1], points2[1], points3[1]), ] assert len(points) == len(test_points) == 2 for i in range(2): assert len(points[i]) == len(test_points[i]) == 3 assert np.all(points[i][0] == test_points[i][0]) assert points[i][1] == test_points[i][1] assert points[i][2] == test_points[i][2]
def test_simple_instance(self, seed): """Test Real.__init__.""" dim = Real('yolo', 'norm', 0.9) samples = dim.sample(seed=seed) assert len(samples) == 1 assert dists.norm.rvs(0.9) == samples[0] assert dists.norm.interval(1.0, 0.9) == dim.interval() assert dists.norm.interval(0.5, 0.9) == dim.interval(0.5) assert 1.0 in dim assert str( dim ) == "Real(name=yolo, prior={norm: (0.9,), {}}, shape=(), default value=None)" assert dim.name == 'yolo' assert dim.type == 'real' assert dim.shape == ()
def test_sample_from_extra_bounds_bad(self): """Randomized test **unsuccessfully** sampling with the extra bounds.""" dim = Real('yolo', 'norm', 0, 2, low=-2, high=+2, shape=(4, 4)) with pytest.raises(ValueError) as exc: dim.sample(8) assert "Improbable bounds" in str(exc.value)