search_space = Box([0, 0], [1, 1])

fig = plot_function_plotly(scaled_branin, search_space.lower, search_space.upper, grid_density=20)
fig.update_layout(height=400, width=400)
fig.show()

# %% [markdown]
# We begin our Bayesian active learning from a two-point initial design built from a space-filling Halton sequence.

# %%
import trieste

observer = trieste.objectives.utils.mk_observer(scaled_branin)

num_initial_points = 4
initial_query_points = search_space.sample_halton(num_initial_points)
initial_data = observer(initial_query_points)


# %% [markdown]
# ## Surrogate model
#
# Just like in sequential optimization, we fit a surrogate Gaussian process model to the initial data.

# %%
import gpflow
from trieste.models.gpflow.models import GaussianProcessRegression


def build_model(data):
    variance = tf.math.reduce_variance(data.observations)
Example #2
0
def test_box_haltom_sampling_returns_different_points_for_different_call() -> None:
    box = Box(tf.zeros((3,)), tf.ones((3,)))
    halton_samples_1 = box.sample_halton(num_samples=100)
    halton_samples_2 = box.sample_halton(num_samples=100)
    npt.assert_raises(AssertionError, npt.assert_allclose, halton_samples_1, halton_samples_2)
Example #3
0
def test_box_halton_sampling_raises_for_invalid_sample_size(num_samples: int) -> None:
    with pytest.raises(TF_DEBUGGING_ERROR_TYPES):
        box = Box(tf.zeros((3,)), tf.ones((3,)))
        box.sample_halton(num_samples)
Example #4
0
def test_box_halton_sampling_returns_same_points_for_same_seed(seed: int) -> None:
    box = Box(tf.zeros((3,)), tf.ones((3,)))
    halton_samples_1 = box.sample_halton(num_samples=100, seed=seed)
    halton_samples_2 = box.sample_halton(num_samples=100, seed=seed)
    npt.assert_allclose(halton_samples_1, halton_samples_2)
Example #5
0
def test_box_halton_sampling_returns_correct_shape(num_samples: int) -> None:
    box = Box(tf.zeros((3,)), tf.ones((3,)))
    halton_samples = box.sample_halton(num_samples)
    _assert_correct_number_of_unique_constrained_samples(num_samples, box, halton_samples)