Releases
0.4.1
V0.4.1 - Maintenance Release
Compatibility
Require BoTorch version v0.11.3 (#2594 )
New Features
Add TimeAsFeature transform (#2438 )
Add tutorial to mimic parameter constraint functionality for nonlinear constraints (#2500 )
Add option for using posterior predictive in cross-validation (#2517 )
Refactor BestModelSelctor to operate on ModelSpecs (#2557 )
Templates for questions on github (#2575 )
Bug Fixes
Update tests so that data contains metric_names that are on the corresponding experiments (#2422 )
Use name of enum instead of casting to string (#2423 )
Fill missing values with NaN in observation_data_to_array (#2430 )
Prevent unused NaNs from marking constraints as infeasible in pareto_frontier_evaluator (#2431 )
Add copyright comment (#2445 )
Fix various spelling errors in GS (#2448 )
Add warning when metric is skipped because it’s not on the experiment (#2449 )
Stop ignoring unused keyword arguments (#2451 )
Improve error clarity in TensorboardMetric (#2456 )
Save status quo name and feature when multiple status quo present (#2457 )
Remove unused import from MOO tutorial (#2462 )
Update MBM tutorial with modern, non-deprecated functionality and accurate description of defaults (#2466 )
Include CANDIDATE trials in pending_features (#2482 )
Test that we’re not referencing same parameter dict in ObservationFeatures.from_arm (#2483 )
Do not deduplicate against FAILED in GenerationStrategy/Node (#2488 )
Use updated BoTorch HitAndRunPolytopeSampler for Sobol fallback (#2492 )
Fix test_optimize_l0_homotopy test numerics (#2493 )
Remove unused imports from ax/ (#2501 )
Remove unused experiment arg from compute_model_fit_metrics_from_modelbridge (#2504 )
Fix equality check for floats (#2507 )
Fix MOO tutorial (#2509 )
Remove unnecessary pyre-fixme (#2513 )
Disallow modeling metrics not attached to the experiment (#2518 )
Fix pending point bug in ExternalGenerationNode (#2521 )
Fix num_bayesopt_trials logic to support ensembling (#2522 )
Update np.Inf -> np.inf per numpy 2.0 release (#2527 )
Reinforce testenv in Ax test case (#2530 )
Avoid errors in telemetry due to node-based GenerationStrategy (#2554 )
Use fast_botorch_optimize to fix test timeouts (#2556 )
Make MBM acquisition pass the correct argos to each BoTorch optimizer (#2571 )
Remove unnecessary special-casing for qEHVI and qMES from optimizer argparse (#2572 )
Remove link to the Raytune Tutorial (#2578 )
Expand trials_as_df to support multiple GenerationNodes in a single trial (#2577 )
Fixing typo in docstring of get_sobol_botorch_modular_acquisition (#2583 )
Fix incorrect status quo update warning (#2586 )
Other Changes
Update PairwiseModelBridge to support non-preference outcomes (#2424 )
Allow more flexible definition of which trial statuses to fit (#2432 )
Support multiple node generation for single trial (#2428 )
Add TimeAsFeature to transform registery (#2439 )
Handle pending observations in TimeAsFeature (#2440 )
Handle ObservationFeatures without trial_index in Realativize (#2441 )
Pyre update (#2442 )
Creating preference testing stub (#2443 )
Add qExpectedUtilityOfBestOption to test_PairwiseModelBridge (#2444 )
Add transition edges property to GenerationNode (https://github.com/facebook/Ax/pull/24460 )
Update should_transition_to_next_node to handle multiple transition edges (#2447 )
Rename TaskEncode transform to TaskChoiceToIntTaskChoice (#2450 )
Explicit mention that AxService API is recommended throughout docs (#2453 )
Add validation of transition edges to GS (#2454 )
Another pyre update (#2463 )
Always consider choice parameters with 2 values as ordered (#2464 )
Fix forward (#2465 )
Change flag name from supress_generation_errors to raise_generation_errors (#2468 )
Improve typing in SyntheticFunctions (#2470 )
Clean up unnecessary todos in _get_model_state_from_last_generator_run (#2476 )
Update docstring to signal in-place_modification (#2477 )
Test against python 3.12 (#2478 )
Have MBM only pass acqf input constructor kwargs to BoTorch when they are not None (#2480 )
Enable evaluating Branin test experiments with None status quo (#2489 )
Remove unused suppress_all_errors kwarg (#2491 )
Adding analysis_batch class to ax.analysis (#2498 )
Adding schema for AnalysisBatch and Analysis (#2499 )
Passing current_node_name when gs is node based (#2505 )
Put model fit data in gen_metadata (#2511 )
Save full[er] GeneratorRuns (#2515 )
Filter InputDataWarning in model cross-validation (#2531 )
Ignore sequential argument when using optimize_acqf_mixed (#2545 )
Adding df and fig properties to BaseAnalysis and BasePlotlyVisualizations to support loading analyses back from database (#2549 )
Encode and decode ax analysis objects (#2550 )
Downgrade error to beta-warning for gs selection in AxClient with BatchTrials (#2551 )
Update gen from multiple nodes to support generating multiple arms per node (#2469 )
Add storage support for BestModelSelector (#2561 )
Minor updates to SQAnalysis schema definition (#2564 )
Improve typing of *_kwargs fields in ModelSpec (#2565 )
Add an option to pass model_cv_kwargs to ModelSpec.cross_validate (#2566 )
Support customizing model_cv_kwargs in SingleDiagnosticBestModelSelector (#2567 )
Change type of json decoder registries to include callables (#2570 )
Set minimize=False if lower_is_better=False in BenchmarkProblem (#2573 )
Add additional validation to transition criterion to not allow transition_to to be undf except for MaxGenParallelism (#2579 )
Minor updates to AxClient.fit_model (#2580 )
Storage support for ScaleMaternKernel & Default (#2585 )
Raise error if enum not provided for a value we’re trying to encode (#2587 )
Change SurrogateBenchmarkProblem to TorchModelBridge (#2591 )
Deprecations
You can’t perform that action at this time.