This is the release note of v3.5.0.
Highlights
This is a maintenance release with various bug fixes and improvements to the documentation and more.
Breaking Changes
- Isolate the fast.ai module from optuna (optuna/optuna-integration#49, thanks @sousu4!)
- Change
n_objectives
condition to be greater than 4 in candidates functions (#5121, thanks @adjeiv!)
New Features
- Support constraints in plot contour (#4975, thanks @y-kamiya!)
- Support infeasible coloring for plot_timeline (#5014)
- Support
constant_liar
in multi-objectiveTPESampler
(#5021) - Add
optuna study-names
cli (#5029) - Use
ExpectedHypervolumeImprovement
candidates function forBotorchSampler
(#5065, thanks @adjeiv!) - Fix logei_candidates_func in
botorch.py
(#5094, thanks @sousu4!) - Report CV scores from within
OptunaSearchCV
(#5098, thanks @adjeiv!)
Enhancements
- Support
constant_liar
in multi-objectiveTPESampler
(#5021) - Make positional args to kwargs in suggest_int (#5044)
- Ensure n_below is never negative in TPESampler (#5074, thanks @p1kit!)
- Improve visibility of infeasible trials in
plot_contour
(#5107)
Bug Fixes
- Fix random number generator of
NSGAIIChildGenerationStrategy
(#5003) - Return
trials
for above in MO split whenn_below=0
(#5079) - Enable loading of read-only files (#5103, thanks @Guillaume227!)
- Fix
logpdf
for scaledtruncnorm
(#5110) - Fix the bug of matplotlib's plot_rank function (#5133)
Documentation
- Add the table of dependencies in each integration module (#5005)
- Enhance the documentation of
LightGBM
tuner and separatetrain()
from__init__.py
(#5010) - Update link to reference (#5064)
- Update the FAQ on reproducible optimization results to remove note on
HyperbandPruner
(#5075, thanks @felix-cw!) - Remove
MOTPESampler
fromindex.rst
file (#5084, thanks @Ashhar-24!) - Add a note about the deprecation of
MOTPESampler
to the doc (#5086) - Add the TPE tutorial paper to the doc-string (#5096)
- Update
README.md
to fix the installation and integration (#5126) - Clarify that
Recommended budgets
includen_startup_trials
(#5137)
Examples
- Update version syntax for PyTorch and PyTorch Lightning examples (optuna/optuna-examples#205, thanks @JustinGoheen!)
- Update import path (optuna/optuna-examples#213)
- Bump up python versions (optuna/optuna-examples#214)
- Add the simplest example directly to README (optuna/optuna-examples#215)
- Add simples examples for multi-objective and constrained optimizations (optuna/optuna-examples#216)
- Revise the comment to describe the problem (optuna/optuna-examples#217)
- Modify simple examples based on the Optuna code conventions (optuna/optuna-examples#218)
- Remove version specification of
jax
andjaxlib
(optuna/optuna-examples#223) - Import examples from
optuna/optuna-dashboard
(optuna/optuna-examples#224) - Add
OptunaSearchCV
with terminator (optuna/optuna-examples#225) - Drop python 3.8 from haiku test (optuna/optuna-examples#227)
- Run MXNet in Python 3.11 (optuna/optuna-examples#228)
Tests
- Remove tests for allennlp and chainer (optuna/optuna-integration#47)
- Reduce the warning in
tests/study_tests/test_study.py
(#5070, thanks @sousu4!)
Code Fixes
- Implement NSGA-III elite population selection strategy (#5027)
- Fix import path of
PyTorchLightning
(#5028) - Fix
Any
withfloat
in_TreeNode.children
(#5040, thanks @aanghelidi!) - Fix future annotation in
typing.py
(#5054, thanks @jot-s-bindra!) - Add future annotations to callback and terminator files inside terminator folder (#5055, thanks @jot-s-bindra!)
- Fix future annotations to edf python file (#5056, thanks @Vaibhav101203!)
- Fix future annotations in _hypervolume_history.py (#5057, thanks @Vaibhav101203!)
- Reduce the warning in
tests/storages_tests/test_heartbeat.py
(#5066, thanks @sousu4!) - Fix future annotation to
frozen.py
(#5080, thanks @Vaibhav101203!) - Fix annotation for
dataframe.py
(#5081, thanks @Vaibhav101203!) - Fix future annotation (#5083, thanks @Vaibhav101203!)
- Fix type annotation (#5105)
- Fix mypy error in CI (#5106)
- Isolate the fast.ai module (#5120, thanks @sousu4!)
- Clean up workflow file (#5122)
Continuous Integration
- Run
test_tensorflow
in Python 3.11 (optuna/optuna-integration#46) - Exclude mypy checks for chainer (optuna/optuna-integration#48)
- Support Python 3.12 on tests for core modules (#5018)
- Fix the issue where formats.sh does not handle tutorial/ (#5023, thanks @sousu4!)
- Skip slow integration tests (#5033)
- Install PyTorch for CPU on CIs (#5042)
- Remove unused
type: ignore
(#5047) - Reduce
tests-mpi
to the oldest and latest Python versions (#5067) - Add workflow matrices for the tests to reduce GitHub check runtime (#5093)
- Remove the skip of Python 3.11 in
tests-mpi
(#5100) - Downgrade kaleido to 0.1.0post1 for fixing Windows CI (#5101)
- Rename
should-skip
totest-trigger-type
for more clarity (#5134) - Pin the version of PyQt6-Qt6 (#5135)
- Revert
Pin the version of PyQt6-Qt6
(#5140)
Other
- Bump up version to v3.5.0.dev (optuna/optuna-integration#43)
- Bump up version number to 3.5.0 (optuna/optuna-integration#52)
- Bump the version up to v3.5.0.dev (#5032)
- Remove email of authors (#5078)
- Update the integration sections in
README.md
(#5108) - Pin mypy version to 1.6.* (#5123)
- Remove
!examples
from.dockerignore
(#5129)
Thanks to All the Contributors!
This release was made possible by the authors and the people who participated in the reviews and discussions.
@Alnusjaponica, @Ashhar-24, @Guillaume227, @HideakiImamura, @JustinGoheen, @Vaibhav101203, @aanghelidi, @adjeiv, @c-bata, @contramundum53, @eukaryo, @felix-cw, @gen740, @jot-s-bindra, @keisuke-umezawa, @knshnb, @nabenabe0928, @not522, @nzw0301, @p1kit, @sousu4, @toshihikoyanase, @y-kamiya