This is the release note of v0.18.0. See here for the complete list of solved issues and merged PRs.
Upcoming Python 2 Support Drop
Due to the end-of-life (EOL) of Python 2 in January 2020, Optuna will drop Python 2 support in December 2019.
This decision was made considering the following facts:
- Python 2 will become end-of-life (EOL) in January 2020.
- Many scientific computation packages, including NumPy, which is one of the core dependency of Optuna, are planning or already started to drop support for Python 2.
We plan to drop Python 2 support in the first release in December 2019.
Compatibility
New Features
- Add function for high-dimensional parameter relationships visualization. (#594, thanks @suecharo!)
- Add function for parameter relationships visualization as slice plot. (#540, thanks @suecharo!)
- Add function for parameter relationships visualization as contour plot. (#539, thanks @suecharo!)
- Add a PyTorch Ignite handler for pruning. (#561)
- Add PyTorch Lightning pruning integration. (#597)
- Add FastAI Callback for pruning. (#585, thanks @crcrpar!)
- Add public APIs for checking visualization availability. (#607)
- [Experimental] Add a prototype version of automatic LightGBM tuner with stepwise logic. (#549)
Enhancements
- Improve handling of reported values. (#659)
- Avoid iterating through all trials unnecessarily. (#641, thanks @dwiel!)
- Remove
TrialModel.where_study_id
. (#640) - Record all error raising trials as failures. (#637)
- Speed up Parzen Estimator. (#554, thanks @oda!)
- Cache best
trial_id
. (#535, thanks @oda!) - Add an option to
force_garbage_collection
for every trial. (#533, thanks @oda!) - Fix plot_optimization_history. (#631, thanks @cafeal!)
Bug Fixes
Documents
- Add
PULL_REQUEST_TEMPLATE.md
file. (#651) - Update issue template. (#652)
- Update
CONTRIBUTING.md
file. (#649) - Update the experimental warning of
OptunaSearchCV
. (#639) - Update
BaseStudy.trials
doc to specify order constraint. (#634) - Add visualization functions to API reference doc. (#615)
- Apply a small fix to the docstring of
Study
. (#591) - Add links to nbviewer. (#590, thanks @upura!)
Examples
- Add a distributed optimization example on Kubernetes. (#643, thanks @AnesBenmerzoug!)
- Add
--pruning
option to the PyTorch Ignite example. (#633) - Fix an example for
tensorflow==1.15.0
. (#620) - Add pruning to Chainer example. (#614, thanks @Crissman!)
- Enclose
plot_slice()
of slice plot example in backquotes. (#608, thanks @crcrpar!) - Add PyTorch Lightning example. (#584)
Tests
- Fix assertions in
test_optimize_with_catch
. (#650) - Fix the module of type variables. (#636)
- Add
ValueError
test totest_get_contour_plot()
. (#616, thanks @crcrpar!)
Continuous Integration
- Skip XGBoost tests and examples with Python 2.7 in CircleCI. (#654)
- Hide
pip
progress bar from CircleCI log. (#648) - Align CircleCI
install-examples
step name to anchor. (#618)