Example #1
0
 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
Example #2
0
    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"]
Example #3
0
    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]
Example #4
0
    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 == ()
Example #5
0
 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)