Skip to content

V0.4.0 - Maintenance Release

Compare
Choose a tag to compare
@mgarrard mgarrard released this 02 May 21:44
· 464 commits to main since this release

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)
  • Standardization check for entropy of observations (#2366)
  • Unify interface and data handling of model training and generalization metrics (#2367)
  • Silence fit tracking metrics logs in BenchmarkMethod (#2370)
  • Silence some common warnings in tests (#2377)
  • [Easy] Address torch.tensor warnings in derivative sensitivity measures (#2378)
  • Only Plot Nominal Variable separately in Sensitivity Analysis plot (#2381)
  • Make objective direction checks more strict (#2382)
  • Remove inferring reference point in Scheduler for GSS (#2383)
  • enable repeated calling MergeRepeatedMeasurements transform (#2375)
  • Add EUBO to ax botorch modular registry (#2388)
  • Support non-random dummy values in HSS (#2390)
  • Support empty observations in core_stubs / get_experiment_with_observations (#2391)
  • Replace List with Sequence when typing MBM (#2394)
  • Use codecov github action for uploading coverage (#2406)
  • Update GenerationNode.model_to_gen_from_name (#2407)
  • Add a helper for setting RNG seed (#2408)
  • Import OrderedDict from collections (#2414)
  • Remove unused refit_on_update kwarg (#2415)

Deprecations

  • Address numpy deprecation warning (#2272)
  • Reap deprecated argument transform_outcomes_and_configs in get_pareto_frontier_and_configs (#2274)
  • Replace calls to deprecated mvn argument of GPyTorchPosterior with distribution (#2289)
  • Delete model_transitions (#2295)
  • Reap get_GPKG & Models.GPKG (#2316)
  • Reap get_GPMES & Models.GPMES (#2317)
  • Reap get_sequential_optimization_scheduler_options (#2335)
  • Remove gen_unlimited trials (#2347)
  • Delete unused scripts (#2350)
  • Set deprecation for sooner for ALEBO and REMBO (warning has been around for a year) (#2351)
  • Replace usage of deprecated FixedNoiseGP with SingleTaskGP (#2413)
  • Remove FixedNoiseMultiTaskGP import (#2416)