Skip to content

Commit c2f9aec

Browse files
SebastianAmentmeta-codesync[bot]
authored andcommitted
Move merge_multiple_curves to Advanced tier (facebook#4949)
Summary: Pull Request resolved: facebook#4949 Move merge_multiple_curves from Unsupported to Advanced tier in complexity_utils (sets is_in_standard=False only, not is_supported=False). Reviewed By: bernardbeckerman Differential Revision: D94398585 fbshipit-source-id: 2d9feb01e729394c18c4d1bc2ed2ee33cc55b551
1 parent e24e156 commit c2f9aec

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

ax/utils/common/complexity_utils.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class OptimizationSummary:
116116
failure rate is checked.
117117
non_default_advanced_options: Whether non-default advanced options are set.
118118
uses_merge_multiple_curves: Whether merge_multiple_curves is used
119-
(not supported).
119+
(classified as Advanced tier).
120120
"""
121121

122122
# Required keys
@@ -398,7 +398,7 @@ def _check_if_is_in_standard_other_settings(
398398
tolerated_trial_failure_rate = optimization_summary.tolerated_trial_failure_rate
399399
if tolerated_trial_failure_rate is not None and tolerated_trial_failure_rate > 0.9:
400400
is_in_standard, is_supported = False, False
401-
why_not_supported.append(f"{tolerated_trial_failure_rate=} is larger than 0.9.")
401+
why_not_supported.append(f"{tolerated_trial_failure_rate=} is larger than 0.9")
402402

403403
max_pending_trials = optimization_summary.max_pending_trials
404404
min_failed_trials_for_failure_rate_check = (
@@ -414,22 +414,20 @@ def _check_if_is_in_standard_other_settings(
414414
f"{min_failed_trials_for_failure_rate_check=} exceeds "
415415
f"{max(2 * max_pending_trials, 5)=}. Please reduce "
416416
"min_failed_trials_for_failure_rate_check below the stated threshold for "
417-
"this sweep to be in a supported tier."
417+
"this sweep to be in a supported tier"
418418
)
419419
non_default_advanced_options = optimization_summary.non_default_advanced_options
420420
if non_default_advanced_options:
421421
is_in_standard, is_supported = False, False
422422
why_not_supported.append(
423-
"Non-default advanced_options are set on GenerationStrategyConfig."
423+
"Non-default advanced_options are set on GenerationStrategyConfig"
424424
)
425425

426426
uses_merge_multiple_curves = optimization_summary.uses_merge_multiple_curves
427427
if uses_merge_multiple_curves:
428-
is_in_standard, is_supported = False, False
429-
why_not_supported.append(
430-
"Metrics with merge_multiple_curves=True are not supported. "
431-
"This feature is experimental and caution is advised not to merge "
432-
"unrelated curves."
428+
is_in_standard = False
429+
why_not_is_in_standard.append(
430+
"merge_multiple_curves requires caution to avoid merging unrelated curves"
433431
)
434432

435433
return is_in_standard, is_supported

ax/utils/common/tests/test_complexity_utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,10 @@ def test_advanced_tier_conditions(self) -> None:
326326
get_optimization_summary(uses_global_stopping=True),
327327
"Global stopping is enabled",
328328
),
329+
(
330+
get_optimization_summary(uses_merge_multiple_curves=True),
331+
"merge_multiple_curves",
332+
),
329333
]
330334

331335
for summary, expected_msg in test_cases:
@@ -377,10 +381,6 @@ def test_unsupported_tier_conditions(self) -> None:
377381
get_optimization_summary(non_default_advanced_options=True),
378382
"Non-default advanced_options",
379383
),
380-
(
381-
get_optimization_summary(uses_merge_multiple_curves=True),
382-
"merge_multiple_curves=True",
383-
),
384384
(
385385
get_optimization_summary(
386386
max_pending_trials=3, min_failed_trials_for_failure_rate_check=7

0 commit comments

Comments
 (0)