def test_probability_of_feasibility_builder_builds_pof(threshold: float, at: tf.Tensor) -> None: builder = ProbabilityOfFeasibility(threshold) acq = builder.prepare_acquisition_function(zero_dataset(), QuadraticWithUnitVariance()) expected = probability_of_feasibility(QuadraticWithUnitVariance(), threshold, at) npt.assert_allclose(acq(at), expected)
def test_probability_of_feasibility_builder_builds_pof(threshold: float, at: tf.Tensor) -> None: builder = ProbabilityOfFeasibility(threshold) acq = builder.prepare_acquisition_function(empty_dataset([1], [1]), QuadraticMeanAndRBFKernel()) expected = probability_of_feasibility(QuadraticMeanAndRBFKernel(), threshold, at) npt.assert_allclose(acq(at), expected)
def test_probability_of_feasibility_raises_on_incorrect_at_shape(shape: ShapeLike) -> None: at = tf.ones(shape) with pytest.raises(ValueError): probability_of_feasibility(QuadraticMeanAndRBFKernel(), 0.0, at)
def test_probability_of_feasibility_raises_on_non_scalar_threshold(shape: ShapeLike) -> None: threshold = tf.ones(shape) with pytest.raises(ValueError): probability_of_feasibility(QuadraticMeanAndRBFKernel(), threshold, tf.constant([[0.0]]))
def test_probability_of_feasibility(threshold: float, at: tf.Tensor, expected: float) -> None: actual = probability_of_feasibility(QuadraticMeanAndRBFKernel(), threshold, at) npt.assert_allclose(actual, expected, rtol=1e-4)
def test_probability_of_feasibility_raises_on_incorrect_at_shape(shape: ShapeLike) -> None: at = tf.ones(shape) with pytest.raises(ValueError): probability_of_feasibility(QuadraticWithUnitVariance(), 0.0, at)
def test_probability_of_feasibility(threshold: float, at: tf.Tensor, expected: float) -> None: actual = probability_of_feasibility(QuadraticWithUnitVariance(), threshold, at) npt.assert_allclose(actual, expected, rtol=1e-4)
def test_probability_of_feasibility_raises_on_invalid_at_shape(shape: ShapeLike) -> None: at = tf.ones(shape) pof = probability_of_feasibility(QuadraticMeanAndRBFKernel(), 0.0) with pytest.raises(TF_DEBUGGING_ERROR_TYPES): pof(at)