def test_uniform_measure_shapes(): N = 5 bounds = [(-1, 1), (0, 2), (1.3, 5.)] D = len(bounds) x = np.reshape(np.random.randn(D * N), [N, D]) measure = UniformMeasure(bounds) bounds = measure.get_box() assert len(bounds) == D assert len(bounds[0]) == 2 res = measure.compute_density(x) assert res.shape == (N, )
def test_uniform_measure_gradients(): measure_bounds = [(-1, 2), (0, 1)] measure = UniformMeasure(bounds=measure_bounds) N = 3 D = len(measure_bounds) x = np.reshape(np.random.randn(D * N), [N, D]) _check_grad(measure, x)
def qrbf_uniform_infinite(): x1 = np.array([[-1, 1], [0, 0], [-2, 0.1]]) x2 = np.array([[-1, 1], [0, 0], [-2, 0.1], [-3, 3]]) M1 = x1.shape[0] M2 = x2.shape[0] D = x1.shape[1] # measure measure_bounds = [(0, 2), (-4, 3)] measure = UniformMeasure(bounds=measure_bounds) gpy_kernel = GPy.kern.RBF(input_dim=D) emukit_rbf = RBFGPy(gpy_kernel) emukit_qrbf = QuadratureRBFUniformMeasure(rbf_kernel=emukit_rbf, integral_bounds=None, measure=measure) return emukit_qrbf, x1, x2, M1, M2, D
def test_uniform_measure_wrong_bounds(): bounds = [(-1, 1), (3, 2), (1.3, 5.)] with pytest.raises(ValueError): UniformMeasure(bounds)
x2 = np.array([[-1, 1], [0, 0], [-2, 0.1], [-3, 3]]) D = x1.shape[1] gpy_kernel = GPy.kern.RBF(input_dim=D) emukit_rbf = RBFGPy(gpy_kernel) if MEASURE_INTBOUNDS == "Lebesgue-finite": emukit_qrbf = QuadratureRBFLebesgueMeasure(emukit_rbf, integral_bounds=[(-1, 2), (-3, 3)]) elif MEASURE_INTBOUNDS == "GaussIso-infinite": measure = IsotropicGaussianMeasure(mean=np.arange(D), variance=2.0) emukit_qrbf = QuadratureRBFIsoGaussMeasure(rbf_kernel=emukit_rbf, measure=measure) elif MEASURE_INTBOUNDS == "Uniform-infinite": measure = UniformMeasure(bounds=[(0, 2), (-4, 3)]) emukit_qrbf = QuadratureRBFUniformMeasure(emukit_rbf, integral_bounds=None, measure=measure) elif MEASURE_INTBOUNDS == "Uniform-finite": measure = UniformMeasure(bounds=[(1, 2), (-4, 2)]) emukit_qrbf = QuadratureRBFUniformMeasure(emukit_rbf, integral_bounds=[(-1, 2), (-3, 3)], measure=measure) else: raise ValueError("Measure-integral-bounds combination not defined") print() print("measure: {}".format(MEASURE_INTBOUNDS)) print("no dimensions: {}".format(D))