Skip to content

Commit 1e14812

Browse files
mgarrardfacebook-github-bot
authored andcommitted
Add an error if "use_batch_trials" is passed to AxClient (#2355)
Summary: Pull Request resolved: #2355 This is a follow up to #2301 The user was trying to use batch trials, but we don't currently expose this via AxClient we want to add an error to let users know this isn't really having any affect. Reviewed By: saitcakmak Differential Revision: D56048665 fbshipit-source-id: 7dff08492e5cf52ab71579d9dcaac24beded4ff9
1 parent a446aa4 commit 1e14812

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

ax/service/ax_client.py

+8
Original file line numberDiff line numberDiff line change
@@ -1707,6 +1707,14 @@ def _set_generation_strategy(
17071707
if any.
17081708
"""
17091709
choose_generation_strategy_kwargs = choose_generation_strategy_kwargs or {}
1710+
if (
1711+
"use_batch_trials" in choose_generation_strategy_kwargs
1712+
and type(self) is AxClient
1713+
):
1714+
raise UnsupportedError(
1715+
"AxClient API does not support batch trials yet."
1716+
" We plan to add this support in coming versions."
1717+
)
17101718
random_seed = choose_generation_strategy_kwargs.pop(
17111719
"random_seed", self._random_seed
17121720
)

ax/telemetry/tests/test_ax_client.py

+20
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import numpy as np
1212

1313
from ax.core.types import TParamValue
14+
from ax.exceptions.core import UnsupportedError
1415
from ax.service.ax_client import AxClient, ObjectiveProperties
1516
from ax.telemetry.ax_client import AxClientCompletedRecord, AxClientCreatedRecord
1617
from ax.telemetry.experiment import ExperimentCompletedRecord, ExperimentCreatedRecord
@@ -130,6 +131,25 @@ def test_ax_client_completed_record_from_ax_client(self) -> None:
130131
)
131132
self._compare_axclient_completed_records(record, expected)
132133

134+
def test_batch_trial_warning(self) -> None:
135+
ax_client = AxClient()
136+
error_msg = (
137+
"AxClient API does not support batch trials yet."
138+
" We plan to add this support in coming versions."
139+
)
140+
with self.assertRaisesRegex(UnsupportedError, error_msg):
141+
ax_client.create_experiment(
142+
name="test_experiment",
143+
parameters=[
144+
{"name": "x", "type": "range", "bounds": [-5.0, 10.0]},
145+
],
146+
objectives={"branin": ObjectiveProperties(minimize=True)},
147+
is_test=True,
148+
choose_generation_strategy_kwargs={
149+
"use_batch_trials": True,
150+
},
151+
)
152+
133153
def _compare_axclient_completed_records(
134154
self, record: AxClientCompletedRecord, expected: AxClientCompletedRecord
135155
) -> None:

0 commit comments

Comments
 (0)