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 onIntUniformDistribution
. (#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
andoptuna/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
toblack
(string normalization separate commit). (#1030) - Update module import of
sklearn.utils.safe_indexing
forscikit-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
andbokeh
. (#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)