def test_multidim(self, monkeypatch): """Tests that dimensions with shape > 1 are flattened properly""" config = mock_space(y="uniform(0, 3, shape=2)") mock_experiment(monkeypatch, y=[[3, 3], [2, 3], [1, 2], [0, 3]]) with create_experiment(config, trial_config) as (_, _, experiment): plot = lpi(experiment, model_kwargs=dict(random_state=1)) assert_lpi_plot(plot, dims=["x", "y[0]", "y[1]"])
def test_returns_plotly_object(self): """Tests that the plotly backend returns a plotly object""" with create_experiment(config, trial_config, ["completed"]) as ( _, _, experiment, ): plot = lpi(experiment, model_kwargs=dict(random_state=1)) assert type(plot) is plotly.graph_objects.Figure
def test_experiment_worker_as_parameter(self, monkeypatch): """Tests that ``Experiment`` is a valid parameter""" config = mock_space() mock_experiment(monkeypatch) with create_experiment(config, trial_config, ["completed"]) as ( _, experiment, _, ): plot = lpi(experiment, model_kwargs=dict(random_state=1)) assert_lpi_plot(plot, dims=["x", "y"])
def test_categorical_multidim(self, monkeypatch): """Tests that multidim categorical is supported""" config = mock_space(y='choices(["a", "b", "c"], shape=3)') mock_experiment( monkeypatch, y=[["c", "b", "a"], ["c", "a", "c"], ["a", "b", "a"], ["c", "b", "b"]], ) with create_experiment(config, trial_config) as (_, _, experiment): plot = lpi(experiment, model_kwargs=dict(random_state=1)) assert_lpi_plot(plot, dims=["x", "y[0]", "y[1]", "y[2]"])
def test_graph_layout(self, monkeypatch): """Tests the layout of the plot""" config = mock_space() mock_experiment(monkeypatch) with create_experiment(config, trial_config, ["completed"]) as ( _, _, experiment, ): plot = lpi(experiment, model_kwargs=dict(random_state=1)) df = experiment.to_pandas() assert df["x"].tolist() == [0, 1, 2, 4] assert df["y"].tolist() == [3, 2, 0, 1] assert df["objective"].tolist() == [0.1, 0.2, 0.3, 0.5] assert_lpi_plot(plot, dims=["x", "y"])
def test_ignore_uncompleted_statuses(self, monkeypatch): """Tests that uncompleted statuses are ignored""" config = mock_space() mock_experiment( monkeypatch, ids="abcdefgh", x=[0, 0, 0, 1, 0, 2, 0, 3], y=[1, 0, 0, 2, 0, 0, 0, 3], objectives=[0.1, None, None, 0.2, None, 0.3, None, 0.5], status=[ "completed", "new", "reserved", "completed", "broken", "completed", "interrupted", "completed", ], ) with create_experiment(config, trial_config) as (_, _, experiment): plot = lpi(experiment) assert_lpi_plot(plot, dims=["x", "y"])
def test_requires_argument(self): """Tests that the experiment data are required.""" with pytest.raises(ValueError): lpi(None)