|
2 | 2 |
|
3 | 3 | The release log for BoTorch. |
4 | 4 |
|
| 5 | +## [0.9.0] - July 31, 2023 |
| 6 | + |
| 7 | +#### Compatibility |
| 8 | +* Require Python >= 3.9.0 (#1924). |
| 9 | +* Require PyTorch >= 1.13.1 (#1960). |
| 10 | +* Require linear_operator == 0.5.0 (#1961). |
| 11 | +* Require GPyTorch == 1.11 (#1961). |
| 12 | + |
| 13 | +#### Highlights |
| 14 | +* Introduce `OrthogonalAdditiveKernel` (#1869). |
| 15 | +* Speed up LCE-A kernel by over an order of magnitude (#1910). |
| 16 | +* Introduce `optimize_acqf_homotopy`, for optimizing acquisition functions with homotopy (#1915). |
| 17 | +* Introduce `PriorGuidedAcquisitionFunction` (PiBO) (#1920). |
| 18 | +* Introduce `qLogExpectedImprovement`, which provides more accurate numerics than `qExpectedImprovement` and can lead to significant optimization improvements (#1936). |
| 19 | +* Similarly, introduce `qLogNoisyExpectedImprovement`, which is analogous to `qNoisyExpectedImprovement` (#1937). |
| 20 | + |
| 21 | +#### New Features |
| 22 | +* Add constrained synthetic test functions `PressureVesselDesign`, `WeldedBeam`, `SpeedReducer`, and `TensionCompressionString` (#1832). |
| 23 | +* Support decoupled fantasization (#1853) and decoupled evaluations in cost-aware utilities (#1949). |
| 24 | +* Add `PairwiseBayesianActiveLearningByDisagreement`, an active learning acquisition function for PBO and BOPE (#1855). |
| 25 | +* Support custom mean and likelihood in `MultiTaskGP` (#1909). |
| 26 | +* Enable candidate generation (via `optimize_acqf`) with both `non_linear_constraints` and `fixed_features` (#1912). |
| 27 | +* Introduce `L0PenaltyApproxObjective` to support L0 regularization (#1916). |
| 28 | +* Enable batching in `PriorGuidedAcquisitionFunction` (#1925). |
| 29 | + |
| 30 | +#### Other changes |
| 31 | +* Deprecate `FixedNoiseMultiTaskGP`; allow `train_Yvar` optionally in `MultiTaskGP` (#1818). |
| 32 | +* Implement `load_state_dict` for SAAS multi-task GP (#1825). |
| 33 | +* Improvements to `LinearEllipticalSliceSampler` (#1859, #1878, #1879, #1883). |
| 34 | +* Allow passing in task features as part of X in MTGP.posterior (#1868). |
| 35 | +* Improve numerical stability of log densities in pairwise GPs (#1919). |
| 36 | +* Python 3.11 compliance (#1927). |
| 37 | +* Enable using constraints with `SampleReducingMCAcquisitionFunction`s when using `input_constructor`s and `get_acquisition_function` (#1932). |
| 38 | +* Enable use of `qLogExpectedImprovement` and `qLogNoisyExpectedImprovement` with Ax (#1941). |
| 39 | + |
| 40 | +#### Bug Fixes |
| 41 | +* Enable pathwise sampling modules to be converted to GPU (#1821). |
| 42 | +* Allow `Standardize` modules to be loaded once trained (#1874). |
| 43 | +* Fix memory leak in Inducing Point Allocators (#1890). |
| 44 | +* Correct einsum computation in `LCEAKernel` (#1918). |
| 45 | +* Properly whiten bounds in MVNXPB (#1933). |
| 46 | +* Make `FixedFeatureAcquisitionFunction` convert floats to double-precision tensors rather than single-precision (#1944). |
| 47 | +* Fix memory leak in `FullyBayesianPosterior` (#1951). |
| 48 | +* Make `AnalyticExpectedUtilityOfBestOption` input constructor work correctionly with multi-task GPs (#1955). |
| 49 | + |
| 50 | + |
5 | 51 | ## [0.8.5] - May 8, 2023 |
6 | 52 |
|
7 | 53 | #### New Features |
|
0 commit comments