Skip to content

v3.4.0

Compare
Choose a tag to compare
@contramundum53 contramundum53 released this 17 Oct 07:04
4ea580f

This is the release note of v3.4.0.

Highlights

Optuna 3.4 newly supports the following new features. See our release blog for more detailed information.

  • Preferential Optimization (Optuna Dashboard)
  • Optuna Artifact
  • Jupyter Lab Extension
  • VS Code Extension
  • User-defined Distance for Categorical Parameters in TPE
  • Constrained Optimization Support for Visualization Functions
  • User-Defined Plotly’s Figure Support (Optuna Dashboard)
  • 3D Model Viewer Support (Optuna Dashboard)

Breaking Changes

  • Remove deprecated arguments with regard to LightGBM>=4.0 (#4844)
  • Deprecate SkoptSampler (#4913)

New Features

  • Support constraints for intermediate values plot (#4851, thanks @adjeiv!)
  • Display all objectives on hyperparameter importances plot (#4871)
  • Implement get_all_study_names() (#4898)
  • Support constraints plot_rank (#4899, thanks @ryota717!)
  • Support Study Artifacts (#4905)
  • Support specifying distance between categorical choices in TPESampler (#4926)
  • Add metric_names getter to study (#4930)
  • Add artifact middleware for exponential backoff retries (#4956)
  • Add GCSArtifactStore (#4967, thanks @semiexp!)
  • Add BestValueStagnationEvaluator (#4974, thanks @smygw72!)
  • Allow user-defined objective names in hyperparameter importance plots (#4986)

Enhancements

  • CHG constrained param displayed in #cccccc (#4877, thanks @louis-she!)
  • Faster implementation of fANOVA (#4897)
  • Support constraint in plot slice (#4906, thanks @hrntsm!)
  • Add mimetype input (#4910, thanks @hrntsm!)
  • Show all ticks in _parallel_coordinate.py when log scale (#4911)
  • Speed up multi-objective TPE (#5017)

Bug Fixes

  • Fix numpy indexing bugs and named tuple comparing (#4874, thanks @ryota717!)
  • Fix fail_stale_trials with race condition (#4886)
  • Fix alias handler (#4887)
  • Add lazy random state and use it in RandomSampler (#4970, thanks @shu65!)
  • Fix TensorBoard error on categorical choices of mixed types (#4973, thanks @ciffelia!)
  • Use lazy random state in samplers (#4976, thanks @shu65!)
  • Fix an error that does not consider min_child_samples (#5007)
  • Fix BruteForceSampler in parallel optimization (#5022)

Documentation

  • Fix typo in _filesystem.py (#4909)
  • Mention a pruner instance is not stored in a storage in resuming tutorial (#4927)
  • Add introduction of optuna-fast-fanova in documents (#4943)
  • Add artifact tutorial (#4954)
  • Fix an example code in Boto3ArtifactStore's docstring (#4957)
  • Add tutorial for JournalStorage (#4980, thanks @semiexp!)
  • Fix document regarding ArtifactNotFound (#4982, thanks @smygw72!)
  • Add the workaround for duplicated samples to FAQ (#5006)

Examples

Tests

  • Reduce n_trials in test_combination_of_different_distributions_objective (#4950)
  • Replaces California housing dataset with iris dataset (#4953)
  • Fix numpy duplication warning (#4978, thanks @torotoki!)
  • Make test order deterministic for pytest-xdist (#4999)

Code Fixes

  • Move shap (optuna/optuna-integration#32)
  • Remove shap (#4791)
  • Use isinstance instead of if type() is ... (#4896)
  • Make cmaes dependency optional (#4901)
  • Call internal sampler's before_trial (#4914)
  • Refactor _grid.py (#4918)
  • Fix the checks-integration errors on LightGBMTuner (#4923)
  • Replace deprecated botorch method to remove warning (#4940)
  • Fix type annotation (#4941)
  • Add _split_trials instead of _get_observation_pairs and _split_observation_pairs (#4947)
  • Use __future__.annotations in optuna/visualization/_optimization_history.py (#4964, thanks @YuigaWada!)
  • Fix #4508 for optuna/visualization/_hypervolume_history.py (#4965, thanks @RuTiO2le!)
  • Use future annotation in optuna/_convert_positional_args.py (#4966, thanks @hamster-86!)
  • Fix type annotation of SQLAlchemy (#4968)
  • Use collections.abc in optuna/visualization/_edf.py (#4969, thanks @g-tamaki!)
  • Use collections.abc in plot pareto front (#4971)
  • Remove experimental_func from metric_names property (#4983, thanks @semiexp!)
  • Add __future__.annotations to progress_bar.py (#4992)
  • Fix annotations in optuna/optuna/visualization/matplotlib/_optimization_history.py (#5015, thanks @sousu4!)

Continuous Integration

  • Fix checks integration (#4869)
  • Remove fakeredis version constraint (#4873)
  • Support asv 0.6.0 (#4882)
  • Fix speed-benchmarks CI (#4903)
  • Fix Tests (MPI) CI (#4904)
  • Fix xgboost pruning callback (#4921)
  • Enhance speed benchmark (#4981, thanks @g-tamaki!)
  • Drop Python 3.7 on tests-mpi (#4998)
  • Remove Python 3.7 from the development docker image build (#5009)
  • Use CPU version of PyTorch in Docker image (#5019)

Other

Thanks to All the Contributors!

This release was made possible by the authors and the people who participated in the reviews and discussions.

@Alnusjaponica, @HideakiImamura, @RuTiO2le, @YuigaWada, @adjeiv, @c-bata, @ciffelia, @contramundum53, @cross32768, @eukaryo, @g-tamaki, @g-votte, @gen740, @hamster-86, @hrntsm, @hvy, @keisuke-umezawa, @knshnb, @lucasmrdt, @louis-she, @moririn2528, @nabenabe0928, @not522, @nzw0301, @ryota717, @semiexp, @shu65, @smygw72, @sousu4, @torotoki, @toshihikoyanase, @xadrianzetx