This release presents another major step forwards in particular with regard to hyperparameter tuning of the optimization strategies in Kernel Tuner. In addition, many of the optimization strategies have been made aware of constraints. This means they will initialize with only valid configurations, use the search space object to query only valid neighbors, and when needed repair invalid configs to valid neighboring ones.
In addition, the Differential Evolution strategy previously relied on scipy.optimize.diff_evo
, which has now been replaced with a brand new implementation that is more suited for discrete search spaces, including those with strings as parameter valus, and the strategy is also constraint-aware.
Finally, Kernel Tuner now also allows users to pass their own optimization algorithms as search strategies for auto-tuning. For this purpose, kernel_tuner.strategies.wrapper
implements an OptAlgWrapper
class that can wrap an existing optimizer.
What's Changed
- Hyperparametertuning custom strategies by @nikivanstein in #325
- Hyperparameter tuning for custom strategies by @fjwillemsen in #329
- add support for user-defined optimization algorithms by @benvanwerkhoven in #287
- Hyperparameter tuning by @fjwillemsen in #289
- Constrained optimization by @benvanwerkhoven in #298
- Tunable constrained optimization algorithms by @fjwillemsen in #324
- Replace differential evolution strategy by @benvanwerkhoven #322
New Contributors
- @nikivanstein made their first contribution in #325
Full Changelog: 1.2...1.3.0