fix(deps): update dependency optuna to v5 - #377
Open
dreadnode-renovate-bot[bot] wants to merge 1 commit into
Open
fix(deps): update dependency optuna to v5#377dreadnode-renovate-bot[bot] wants to merge 1 commit into
dreadnode-renovate-bot[bot] wants to merge 1 commit into
Conversation
| datasource | package | from | to | | ---------- | ------- | ----- | ----- | | pypi | optuna | 4.6.0 | 5.0.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
| Package | Change | Age | Confidence |
|
Generated Summary:
optunadependency version from>=4.5.0,<5.0.0to>=5.0.0,<5.1.0.This summary was generated with ❤️ by rigging
| optuna |
|
|
>=4.5.0,<5.0.0→>=5.0.0,<5.1.0|Release Notes
optuna/optuna (optuna)
v5.0.0Compare Source
This is the release note for v5.0.0.
Highlights
Major Enhancements to the Default Sampler
Optuna v5.0 introduces the first major update to its default sampler configuration since v1.5. For single-objective optimization, TPESampler now enables multivariate TPE (#6746) and the constant liar strategy by default (#6738), together with enhanced bandwidth computation (Watanabe 2023). For multi-objective optimization, TPESampler replaces NSGAIISampler as the default sampler (#6766). These settings were selected through comprehensive benchmarking to improve optimization performance.
New Core APIs for Constrained Optimization
Constrained optimization is now represented directly in Optuna’s core Trial API. Constraint values can be set inside the objective function using
trial.set_constraint()and retrieved throughtrial.constraints, providing a consistent interface across supported samplers. Accordingly, the sampler-specificconstraints_funcarguments are now deprecated. (#6736, #6754, #6773)PED-ANOVA Becomes the Default Parameter Importance Evaluator
Optuna v5.0 makes PedAnovaImportanceEvaluator the default evaluator used by
optuna.importance.get_param_importances(), replacing f-ANOVA. PED-ANOVA computes parameter importances substantially faster, works with Optuna’s standard dependencies, and now supports conditional search spaces and multi-objective studies. The conditional extension, Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces, was accepted at KDD 2026. (#6682, #6728, #6748)Improved Parallel Optimization with GPSampler
GPSampler, now a stable API in Optuna v5.0, introduces Monte Carlo-based q-batch acquisition functions that account for trials currently under evaluation. Rather than assigning each running trial a single heuristic pseudo-value, these acquisition functions integrate over possible outcomes sampled from the Gaussian process posterior, allowing predictive uncertainty to inform subsequent suggestions.The new acquisition functions cover all four major problem settings: qLogEI for unconstrained single-objective optimization, qLogCEI for constrained single-objective optimization, qLogEHVI for unconstrained multi-objective optimization, and qLogCEHVI for constrained multi-objective optimization. This provides a more principled approach to parallel Bayesian optimization across the problem settings supported by GPSampler. (#6715, #6640, #6744, #6792, #6804)
Breaking Changes
optuna.multi_objectivemodule (#6686)GPSampler(#6715)constant_liarby default (#6738)QMCSampler(#6742, thanks @saivedant169!)TPESampler(#6746)PedAnovaImportanceEvaluatorthe default importance evaluator (#6748)TPESamplerthe default sampler for multi-objective optimization (#6766)constraints_func(#6773)RDBStorageandJournalStorage(#6776)axis_orderargument fromplot_pareto_front(#6781)system_attrsfromStudySummary(#6782)categorical_distance_funcfromTPESampler(#6783)MXNetPruningCallback(optuna/optuna-integration#294)constraintsproperty inBoTorchSampler(optuna/optuna-integration#306)set_system_attrandsystem_attrsfromTorchDistributedTrial(optuna/optuna-integration#309)set_system_attrandsystem_attrsfromStudyandTrial(#6834)New Features
targetisNone(#6728)constraintsproperty toTrial(#6736)set_constraintmethod toTrial(#6754)constraintsandset_constraintinTorchDistributedTrial(optuna/optuna-integration#308)qConstrainedLogEI(#6744, thanks @sawa3030!)qLogEHVI(#6792, thanks @sawa3030!)qConstrainedLogEHVIinGPSampler(#6804, thanks @sawa3030!)constraintsargument increate_trial(#6816)Enhancements
QMCSamplerfallback to independent sampling in distributed setups (#6638, thanks @Rishabh-git10!)BruteForceSamplerby avoiding full tree build based on tree size check (#6646)BruteForceSampler(#6649)BruteForceSamplerby candidates caching (#6650)BruteForceSamplerrefactoring [3/3] (#6657)BruteForceSamplerfor speedup (#6705)ValueErrorinPedAnovaImportanceEvaluatorfor multi-objective studies withouttarget(#6716)GPSamplerOMP issue (#6753)_get_constraint_funcsto avoid closure bug (optuna/optuna-integration#278, thanks @GopalGB!)JournalStorageto read Rustuna journal files (#6790)CmaEsSamplerin constrained optimization (#6802)Bug Fixes
ValueErrorin importances (#6720)qehvi_candidates_funcandqnehvi_candidates_func(optuna/optuna-integration#302, thanks @adrianhtt!)IntDistributionmidpoint bias in_SearchSpaceTransformand add tests (#6771, thanks @yen-0!)metric_namesorder intrials_dataframecolumns (#6786, thanks @rkfshakti!)QMCSamplertoTestRelativeSamplercoverage and clamp log-float untransform at low bound (#6799, thanks @yen-0!)Documentation
BruteForceSampler(#6652)CmaEsSampleroptions (#6694)TPESampleroptions to the end (#6696)SPXCrossovercitation (#6698, thanks @Divyansh-ag14!)TPESampler(#6712)AutoSamplercitation path (#6714)n_warmup_stepsboundary inMedianPrunerandPercentilePruner(#6733, thanks @vin0san!)GCSArtifactStoredocstring example (#6815, thanks @maupatel!)Examples
Tests
optuna.testing(#6765)BoTorchSamplerunit test using optuna pytest samplers (optuna/optuna-integration#305, thanks @yen-0!)Code Fixes
test_brute_force.py(#6706)gp.py(#6710)paramsvalidation in PED-ANOVA (#6729)Literal | StudyDirection(#6762, thanks @yen-0!)optuna/visualization/matplotlib/_rank.py(#6767)qConstrainedLogEI(#6779, thanks @sawa3030!)contextmanager(#6793, thanks @yen-0!)Continuous Integration
plotly<7wherekaleido<1is required (#6829)Other
attestations: falseto fix release workflow (#6690)5.0.0rc1(#6784)attestations: falseto fix the release workflow (optuna/optuna-integration#291)CODEOWNERSfile (optuna/optuna-integration#301)Thanks to All the Contributors!
This release was made possible by the authors and the people who participated in the reviews and discussions.
@Alnusjaponica, @Divyansh-ag14, @GopalGB, @Rishabh-git10, @Ryo2611, @ShamikOfficial, @adrianhtt, @c-bata, @gen740, @himkt, @hrntsm, @ishitta-iyer, @kAIto47802, @maupatel, @nabenabe0928, @not522, @porink0424, @rkfshakti, @saivedant169, @sawa3030, @uczltw6, @vin0san, @y0z, @yen-0
v4.9.0Compare Source
This is the release note of v4.9.0.
Highlights
Enhance Multi-Objective Constrained Parallel Optimization in GPSampler
@sawa3030 introduces parallelization enhancements to
GPSampler, leveraging the Kriging Believer approach for constrained and multi-objective optimization (#6481). This improvement allows for more efficient exploration when multiple trials are running concurrently.The GP surrogate is updated by assigning temporary objective function values to the running trials.
For more technical details and benchmarks, please check out our blog post: Improving Optuna’s GPSampler Parallelization by Considering Running Trials.
Deprecate Several Features
The following features are deprecated in v4.9.0 and scheduled for removal in v6.0.0.
optuna
TPESampler(#6635)prior_weight,consider_magic_clip,consider_endpoints,gamma,weights,hyperopt_parameters: These internal parameters are being deprecated to simplify the interface, as the default settings are optimal for most use cases.warn_independent_sampling: Deprecated becauseTPESamplernow robustly supports both independent and joint sampling, making this warning obsolete.categorical_distance_func: This advanced feature will be migrated to OptunaHub in the future.x0andsigma0options inCmaEsSampler(#6624)CmaEsSampler's internals to be configured effectively.optuna.terminatormodule (#6668)RetryFailedTrialCallback(#6670)RetryHeartbeatStaleTrialCallbackto better reflect its behavior and avoid confusion with general trial retries (#6085).optuna.integrationmoduleoptuna.integrationmodule currently acts as a shortcut to the externaloptuna_integrationpackage for backward compatibility. Please import directly from theoptuna_integrationpackage going forward.optuna-integration
PyCmaSampler: Please use Optuna's nativeCmaEsSamplerinstead.CometCallback: This feature will be migrated to OptunaHub in the future.MLflowCallback: This feature will be migrated to OptunaHub in the future.TensorBoardCallback: This feature will be migrated to OptunaHub in the future.TrackioCallback: This feature will be migrated to OptunaHub in the future.WeightsAndBiasesCallback: This class has already been migrated to OptunaHub.Breaking Changes
PyCmaSampler(optuna/optuna-integration#276)CometCallback(optuna/optuna-integration#280)WeightsAndBiasesCallback(optuna/optuna-integration#283)QMCSamplerstateless (#6616)x0andsigma0options in CmaEsSampler (#6624)TPESamplerarguments (#6635)optuna.terminatormodule (#6668)RetryFailedTrialCallbacktoRetryHeartbeatStaleTrialCallback(#6670)Enhancements
prior_mufromcompute_sigmas(#6574)BruteForceSampler(#6627, thanks @Rishabh-git10!)BruteForceSampler(#6645)BruteForceSamplerby using any instead of count (#6647)BruteForceSampler(#6648)BruteForceSamplerrefactoring [2/3] (#6656)Bug Fixes
Nonehandling in slice plots (#6621)BruteForceSamplerrefactoring [2/3] (#6656)Documentation
best_trial/best_trialsin constrained optimization (#6522)QMCSamplerdocstring (#6631, thanks @RudrenduPaul!)BruteForceSamplerandGridSamplerinformation in docs (#6651)Examples
Code Fixes
broadcast_object_listinstead of a custom method (optuna/optuna-integration#274)Axesin visualization functions (#6504, thanks @kvr06-ai!)optuna.samplers._partial_fixedto TYPE_CHECKING (#6527, thanks @t7r0n!)tests/test_distributions.py(#6543, thanks @t7r0n!)datetimeimport intests/trial_tests/test_trial.py(#6544, thanks @t7r0n!)TYPE_CHECKINGinsamplers/_tpe/sampler.py(#6545, thanks @yasumorishima!)TYPE_CHECKINGinnsgaii/_crossover.py(#6546, thanks @yasumorishima!)TYPE_CHECKINGfor imports inimportance/_ped_anova/scott_parzen_estimator.py(#6554, thanks @Aliipou!)TYPE_CHECKINGinsamplers/_nsgaiii/_elite_population_selection_strategy.py(#6557, thanks @Aliipou!)TYPE_CHECKINGinsamplers/_nsgaiii/_sampler.py(#6558, thanks @Aliipou!)Studyimport toTYPE_CHECKINGin_timeline.py(#6559, thanks @rpathade!)TYPE_CHECKINGinnsgaii/_crossovers/_base.py(#6561, thanks @saivedant169!)TYPE_CHECKINGinnsgaii/_crossovers/_blxalpha.py(#6562, thanks @saivedant169!)TYPE_CHECKINGinnsgaii/_crossovers/_uniform.py(#6563, thanks @saivedant169!)TYPE_CHECKINGintests/test_multi_objective(#6564, thanks @acabellom!)TYPE_CHECKINGinnsgaii/_sampler.py(#6565, thanks @saivedant169!)TYPE_CHECKINGinoptuna.samplers._qmc(#6566, thanks @hnshah!)TYPE_CHECKINGinvisualization/_rank.py(#6567, thanks @nightcityblade!)TYPE_CHECKINGinvisualization/_parallel_coordinate.py(#6568, thanks @nightcityblade!)TYPE_CHECKINGinvisualization/_slice.py(#6569, thanks @nightcityblade!)TYPE_CHECKINGinvisualization/_intermediate_values.py(#6570, thanks @nightcityblade!)TYPE_CHECKINGinvisualization/_hypervolume_history.py(#6571, thanks @nightcityblade!)TYPE_CHECKINGinvisualization/_contour.py(#6572, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_edf.py(#6575, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_optimization_history.py(#6576, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_hypervolume_history.py(#6577, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_pareto_front.py(#6578, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_terminator_improvement.py(#6579, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_rank.py(#6580, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_slice.py(#6581, thanks @saivedant169!)TYPE_CHECKINGinvisualization/_parallel_coordinate.py(#6584, thanks @saivedant169!)TYPE_CHECKINGinoptuna/visualization/matplotlib/_utils.py(#6585, thanks @nightcityblade!)TYPE_CHECKINGinoptuna/visualization/matplotlib/_edf.py(#6586, thanks @nightcityblade!)TYPE_CHECKINGinoptuna/visualization/matplotlib/_contour.py(#6587, thanks @nightcityblade!)TYPE_CHECKINGinoptuna/visualization/matplotlib/_pareto_front.py(#6588, thanks @nightcityblade!)TYPE_CHECKINGinoptuna/visualization/matplotlib/_param_importances.py(#6589, thanks @nightcityblade!)TYPE_CHECKINGinvisualization/_intermediate_values.py(#6591, thanks @saivedant169!)TYPE_CHECKINGinvisualization/matplotlib/_optimization_history.py(#6592, thanks @saivedant169!)TYPE_CHECKINGinvisualization/matplotlib/_parallel_coordinate.py(#6593, thanks @saivedant169!)TYPE_CHECKINGinvisualization/matplotlib/_rank.py(#6594, thanks @saivedant169!)optuna.integration.__init__.py(#6597)QMCSampler(#6614)TPESamplerwithmultivariate=True(#6618)optuna.storages._rdb.storage.py(#6672)Continuous Integration
Other
GPSampler(#6680)Thanks to All the Contributors!
This release was made possible by the authors and the people who participated in the reviews and discussions.
@Aliipou, @Alnusjaponica, @AshutoshDevpura, @Rishabh-git10, @RudrenduPaul, @Zelys-DFKH, @acabellom, @c-bata, @craigulliott, @duriantaco, @gen740, @hnshah, @jameslamb, @kAIto47802, @kvr06-ai, @nabenabe0928, @nightcityblade, @not522, @rpathade, @saivedant169, @sateeshkumarb, @satishkc7, @sawa3030, @t7r0n, @y0z, @yasumorishima
v4.8.0Compare Source
This is the release note of v4.8.0.
Highlights
Support for Constant Liar Strategy to GPSampler
A constant liar strategy for efficient parallelization has been introduced to GPSampler by @sawa3030. The figures (left: v4.7.0, right: v4.8.0) show that the overlap of search points has decreased, and a wider variety of solutions are being explored. The experiment uses
n_jobs = 10andn_trials = 100. Currently, this feature supports single-objective and unconstrained optimization. Further extensions are coming in v4.9.0.SHAP-like beeswarm plot visualization
@yasumorishima introduces the new visualization to OptunaHub. Please refer to https://hub.optuna.org/visualization/plot_beeswarm/ for details.
New Features
GPSampler(#6430)Enhancements
Bug Fixes
PartialFixedSamplerandTPESamplerwith group decomposed search space (#6428)TPESamplerwithmultivariateandconstant_liar(#6505)Documentation
WilcoxonPrunerrequiresscipy(#6477)Examples
aimCI (optuna/optuna-examples#353)transformers(optuna/optuna-examples#355)Tests
SamplerTestCaseclass inoptuna.testing package(#6424)test_before_trialandtest_after_trial_*totest_trial.pyandtest_study.py, respectively (#6429)Code Fixes
_param_importances.py(#6423, thanks @dotz0ver!).format()with f-strings in_parallel_coordinate.py([#&Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.