pypi optuna 1.3.0
v1.3.0

latest releases: 4.3.0, 4.2.1, 3.6.2...
5 years ago

This is the release note of v1.3.0.

Highlights

Experimental CMA-ES

A new built-in CMA−ES sampler is available. It is still an experimental feature, but we recommend trying it because it is much faster than the existing CMA-ES sampler from the integration submodule. See #920 for details.

Experimental Hyperparameter Importance

Hyperparameter importances can be evaluated using optuna.importance.get_param_importances. This is an experimental feature that currently requires fanova. See #946 for details.

Breaking Changes

Changes to the Per-Trial Log Format

The per-trial log now shows the parameter configuration for the last trial instead of the so far best trial. See #965 for details.

New Features

  • Add step parameter on IntUniformDistribution. (#910, thanks @hayata-yamamoto!)
  • Add CMA-ES sampler. (#920)
  • Add experimental hyperparameter importance feature. (#946)
  • Implement ThresholdPruner. (#963, thanks @himkt!)
  • Add initial implementation of suggest_float. (#1021, thanks @himkt!)

Enhancements

  • Log parameters from last trial instead of best trial. (#965)
  • Fix overlap of labels in parallel coordinate plots. (#979, thanks @VladSkripniuk!)

Bug Fixes

  • Support metric aliases for LightGBM Tuner #960. (#977, thanks @VladSkripniuk!)
  • Use SELECT FOR UPDATE while updating trial state. (#1014)

Documentation

  • Add FAQ entry on how to save/resume studies using in-memory storage. (#869, thanks @victorhcm!)
  • Fix pruning n_warmup_steps documentation. (#980, thanks @PhilipMay!)
  • Apply gray background for code-block:: console. (#983)
  • Add syntax highlighting and fixed spelling variants. (#990, thanks @daikikatsuragawa!)
  • Add examples for doctest to optuna/samplers/*.py and optuna/integration/*.py. (#999, thanks @nuka137!)
  • Embed plotly figures in documentation. (#1003, thanks @harupy!)
  • Improve callback docs for optimize function. (#1016, thanks @PhilipMay!)
  • Fix docstring on optuna/integration/tensorflow.py. (#1019, thanks @nuka137!)
  • Fix docstring in RDBStorage. (#1022)
  • Fix direction in doctest. (#1036, thanks @himkt!)
  • Add a link to the AllenNLP example in README.md. (#1040)
  • Apply document code formatting with Black. (#1044, thanks @PhilipMay!)
  • Remove obsolete description from contribution guidelines. (#1047)
  • Improve contribution guidelines. (#1052)
  • Document intersection_search_space parameters. (#1053)
  • Add descriptions to cli commands. (#1064)

Examples

Code Fixes

  • Add number field in trials table. (#939)
  • Implement some methods almost compatible with Scikit-learn private methods. (#952, thanks @himkt!)
  • Use function annotation syntax for type hints. (#989, #993, #996, thanks @bigbird555!)
  • Add RDB storage number column comment. (#1006)
  • Sort dependencies in setup.py (fix #1005). (#1007, thanks @VladSkripniuk!)
  • Fix mypy==0.770 errors. (#1009)
  • Fix a validation error message. (#1010)
  • Remove python version check. (#1023)
  • Fix a typo on optuna/integration/pytorch_lightning.py. (#1024, thanks @nai62!)
  • Add a todo comment in GridSampler. (#1027)
  • Change formatter from autopep8 to black (string normalization separate commit). (#1030)
  • Update module import of sklearn.utils.safe_indexing for scikit-learn==0.24. (#1031, thanks @kuroko1t!)
  • Fix black error. (#1034)
  • Remove duplicate import of FATAL. (#1035)
  • Fix import order and plot label truncation. (#1046)

Continuous Integration

  • Add version restriction to pytorch_lightning and bokeh. (#998)
  • Relax PyTorch Lightning version constraint to fix daily CI build. (#1002)
  • Store documentation as an artifact on CircleCI. (#1008, thanks @harupy!)
  • Introduce GitHub Action to execute CI for examples. (#1011)
  • Ignore allennlp in Python3.5 and Python3.8. (#1042, thanks @himkt!)
  • Remove daily CircleCI builds. (#1048)

Other

  • Refactor Mypy configuration into setup.cfg. (#985, thanks @pablete!)
  • Ignore .pytest_cache. (#991, thanks @harupy!)

Don't miss a new optuna release

NewReleases is sending notifications on new releases.