Skip to content

Releases: facebook/Ax

V0.4.0 - Maintenance Release

02 May 21:44
Compare
Choose a tag to compare

V0.4.0 - Maintenance Release

Compatibility

  • Require BoTorch version v0.11.0 (#2420).
  • Require Python version >= 3.10 (#2349)

FYI on future deprecations:

  • ALEBO AND REMBO will be deprecated and removed in the next release

New Features

  • New, simplified TensorboardMetric (#2236)
  • Add support for noisy problems to the Ax Benchmarks (#2255)
  • Add ExternalGenerationNode (#2266)
  • Add ExternalGenerationNode tutorial (#2281)
  • Enable batched benchmarks (with BatchTrial) (#2331)
  • Entropy of observations metric (#2340)
  • Global Sensitivity Analysis for Categorical Features (#2357)
  • Enable Sobol sensitivity analysis for SAAS models (#2363)
  • Support fixed features in Service API (#2372)
  • Support X_observed=None in Acquisition (#2393)
  • Added PredictedOutcomesDotPlot to ax.analysis (#2303)

Bug Fixes

  • Address misc lint+pyre failures impacting OSS linter (#2244)
  • Improve flakey test reliability (#2246)
  • Ensure minimize is passed to make_experiment (#2251)
  • Fix GenerationNode transition logic (#2253)
  • Handle errors in score trace computations (#2263)
  • Fix Sphinx build errors (#2267)
  • Fix flaky test for sensitivity analysis (#2268)
  • Do not re-attach the same data in get_test_map_data_experiment (#2273)
  • Fic issue with SQA storage never removing Data objects + upgrade testing for scheduler with Map Data intermediate results (#2276)
  • Fix prediction on training data in transformed space when calculating model fit quality metrics (#2279)
  • Fix integration test (#2282)
  • do not group by time cols when creating observations (#2293)
  • Fix test_compare_to_baseline_equal (#2296)
  • Fix test_sqa_storage_map_metric_experiment (#2297)
  • Ax Trial: Bug fix for error message that references nonexistent function (#2304)
  • Cloning over _time_created when cloning Experiment (#2307)
  • Fix "cannot collect test class 'TestMetric' because it has a init constructor (from: ax/core/tests/test_experiment.py)" (#2308)
  • Address non-determinism in model.metric_names in tests (#2309)
  • fix skip_runners_and_metrics for metrics on generator runs with mutable multi-objective optimization config (#2312)
  • Properly handle generators in Data.from_multiple (#2318)
  • Update some test helpers in core_stubs (#2319)
  • Rework TransitionCriterion storage to remove circular dep (#2320)
  • Fix generation node tests (#2322)
  • Fix docstring in Ax SyntheticFunction._f, Pyre fix (#2329)
  • Fix missing DB update on AxClient.stop_trial_early (#2337)
  • Fix deprecation warning from pandas.read_json (#2346)
  • Remove unused import (#2348)
  • Add an error if "use_batch_trials" is passed to AxClient (#2355)
  • Add List[str] to TConfig definition (#2360)
  • HSS: only check for dependents if the root parameter is present when casting parameterization (#2361)
  • Only untransform objective thresholds in TorchModelbridge.gen if they are not None (#2374)
  • Make sure TestCase.setUp is executed in tests (#2384)
  • Do not transform search space in-place in Modelbridge._get_transformed_gen_args (#2386)
  • Fix warning filters in TestCase, introduce AxParameterWarning (#2389)
  • Fix broken test from D56359739 (#2400)
  • Fix sphinx build (#2419)

Other Changes

  • Add output_tasks to MTGP in MBM (#2241)
  • Pyre Configurationless migration (#2243, #2261, #2359, #2368)
  • Update docstring for GenerationNode.gen & fit (#2245)
  • Implement Data.eq (#2247)
  • copying "cross_validation_helper" code from ax.plot (#2249)
  • validate metrics after setting options (#2250)
  • Introduces AxGenerationException to facilitate exception handling (#2254)
  • Light cleanup of GenerationStrategyInterface (#2256)
  • Add Sobol benchmark method (#2257)
  • Light GenStrategy cleanup (#2258)
  • Extend docstring of extract_parameter_constraints (#2262)
  • Retain original data timestamp in experiment.clone_with (#2269)
  • Docstring clarification (#2270)
  • Clean up too-verbose logs (#2275)
  • Add fit_out_of_design to TorchOptConfig (#2277)
  • Update doc strings on TransitionCriterion to improve usability (#2278)
  • split common target into native/non-native parts (#2280)
  • Unblock node based GS in AxClient.get_optimization_trace (#2283)
  • Allow customizing num_init_trials in MBM benchmark method (#2286)
  • Update log message in WithDBSettingsBase._load_experiment_and_generation_strategy (#2287)
  • Abstract out attribute copy during clone_to (#2288)
  • updates trial status during clone (#2290)
  • Plot top n features in countours (#2291)
  • Expose fit_out_of_design (#2292)
  • Clean up too verbose logs pt. 2 (#2298)
  • Changed concatenation to f-strings (#2300)
  • Silence input normalization warnings in cross validation (#2310)
  • Clean up GenNode class 1/3 (#2313)
  • Return weights from Acquisition.optimize (#2314)
  • Upgrade actions/checkout & actions/setup-python (#2315)
  • Rename OrderedChoiceEncode => OrderedChoiceToIntegerRange (#2323)
  • Tests for sequential=True as default for models in ModelBridge factory (#2324)
  • add MergeRepeatedMeasurements to the transform registry (#2325)
  • Typing improvements to RangeParameter (#2327)
  • update run_metadata in BaseTrial.run instead of overwriting (#2328)
  • Allow for passing model_gen_kwargs in benchmarks (#2336)
  • only infer reference point in global stopping if there is data (#2338)
  • Allow bulk_fetch_trial_data to return mix of successes/failures (#2339)
  • Tests which store and load dataframe and figure (#2344)
  • Add e2e tests with HSS (#2345)
  • Switch legacy LCE-A to qLogNEI from legacy ei_or_nei (#2352)
  • Remove fall-back to list (#2353)
  • Rename global stopping tests_strategies -> test_strategies (#2354)
  • Update HSS dummy value logic & expose it in Cast ([#2362](https://git...
Read more

v0.3.7 - Maintenance Release

01 Mar 16:10
Compare
Choose a tag to compare

v0.3.6 - Maintenance Release

09 Dec 18:08
Compare
Choose a tag to compare

Compatibility

  • Bump required BoTorch version to 0.9.5 (#2065).
  • Unpin typeguard dependency (#2044).

New Features

Bug Fixes

  • Fix usage of batch shape for warp transform (#1994).
  • Use default dtype in Experiment.clone_with (375bf47).
  • Change DerelativizeTransform to not use model predictions when use_raw_status_quo is True or when the status quo is infeasible (#2036).
Deprecations
  • Rename Models.BOTORCH to Models.LEGACY_BOTORCH (#1981).

Other Changes

  • Do not call dataset.X in input transform constructors (#1993).
  • Move pending point utils to core Ax (#2006).
  • Load Experiment without runners and metrics in the case where search space and optimization config are immutable (#1656).
  • Workaround for tutorial visualizations not working in colab and remote setup (#2030).
  • Add extract_pending_observations function that auto-deploys to the correct pending points function for the use case (#2039).
  • Wait to re-poll if all results are MetricFetchE (#2055).
  • Benchmarks:
    • Update BestPointMixin to support BatchTrial in benchmarks (#2014).
    • Adjust BenchmarkProblem to support multiple noise levels (#2049).
    • Make distribute_replications a required input argument (#2051).

v0.3.5 Release

13 Nov 22:37
Compare
Choose a tag to compare
  • Bump required botorch version to 0.9.4
  • Miscellaneous bug fixes and improvements

v0.3.4 Release

11 Aug 14:37
Compare
Choose a tag to compare
  • Bump required botorch version to 0.9.2, fixing major bug in single-objective optimization with outcome constraints, see botorch release 0.9.2 for details

v0.3.3 Release

26 Jun 20:46
Compare
Choose a tag to compare
  • Remove typeguard usage in trial attaching function and replace with manual runtime type checking (this was causing errors for some users in Google Colab notebooks)
  • Miscellaneous bug fixes and improvements

v0.3.2 Release

08 May 20:26
Compare
Choose a tag to compare
  • Bump required Botorch version to v0.8.5
  • Miscellaneous big fixes and improvements

v0.3.1 Release

15 Mar 21:58
Compare
Choose a tag to compare
  • Bump required Botorch version to v0.8.3
  • Pin typeguard to version 2.13.3 while we investigate best course of action for dealing with backwards incompatible changes introduced in v3.0.0

v0.3.0 Release

01 Mar 17:08
Compare
Choose a tag to compare
  • Bump required botorch version to 0.8.2
  • Pinned sqlalchemy version to <2.0. We will update Ax to be compatible with the newly released sqlalchemy 2.0 in the near future
  • Changes to Modular Botorch Model allow for heterogeneous modeling (i.e. many surrogates, one acquisition function). A tutorial jupyter notebook will be posted on ax.dev soon.
    • Added optional argument surrogate_specs to BoTorchModel: an Optional Mapping of names onto SurrogateSpecs, which specify how to initialize specific Surrogates to model specific outcomes. If None is provided a single Surrogate will be created and set up automatically based on the data provided.
    • Deprecated ListSurrogate (subsumed functionality into Surrogate)
  • Removed Models.MOO_MODULAR (Models.BOTORCH_MODULAR supports multi-objective setups)
  • Support partial objective thresholds
  • Miscellaneous testing speedups
  • Miscellaneous bug fixes

v0.2.10 Release

29 Dec 20:39
Compare
Choose a tag to compare
  • Bump required botorch version to 0.8.0
  • Enable relative outcome constraints
  • Misc bugfixes and improvements
    • Bugfix in BestPointMixin.get_trace
    • Avoid unnecessary model re-fitting in some cases
    • Allow inferred noise in benchmarking via infer_noise flag