用Go编写的黑盒函数的贝叶斯优化框架
用Go编写的黑盒函数的贝叶斯优化框架 github-actions released this
New features
Dashboard: filtering trials by state
You can now walk through trials by filtering and sorting.
Dashboard: Add button to delete a study
You can delete a study from dashboard.
Assets
6
github-actions released this
New feature
Built-in Web Dashboard (#157)
You can download standalone binaries (JavaScript files are also embedded in these binaries) via GitHub release, then you can open Web dashboard like following command.
$ goptuna --version
goptuna version 0.7.0 (rev: e8db5dc)
$ goptuna dashboard --storage sqlite:///example.db --host 127.0.0.1 --port 8000
Goptuna's RDB storage backend is compatible with Optuna. So this CLI is able to visualize Optuna's optimization results.
Improvements
- Faster TPE categorical sampling (#152)
Bug fixes
Assets
6
New feature
- Support IPOP-CMA-ES and BI-POP-CMA-ES algorithm (#131, #135, #136, #141)
- Please check the benchmark results on two-dimensional Rastrigin function at #141.
- Auger, A., Hansen, N.: A restart CMA evolution strategy with increasing population size. In: Proceedings of the 2005 IEEE Congress on Evolutionary Computation (CEC’2005), pp. 1769–1776 (2005a)
- Hansen N. Benchmarking a BI-Population CMA-ES on the BBOB-2009 Function Testbed. In the workshop Proceedings of the Genetic and Evolutionary Computation Conference, GECCO, pages 2389–2395. ACM, 2009.
- Add BlackHoleStorage towards 100k+ evaluations (#105)
- Add TPE sampler options (#127)
API changes
Pruning (Early-stopping) APIs are changed without backward compatibility.
While I added an example which uses successive halving pruner at #120, I found a lot of issues. I'm sure that nobody uses pruning functionalities (I also confirmed that Kubeflow/Katib and sile/kurobako-go does not use pruning functionalities). So I fixes those issues. And I merge it without backward compatibility.
- Fix typo of
OptionSetReductionFactor
- Alter the argument of
trial.ShouldPrune()
and removetrial.Report()
.
Some APIs are renamed without breaking changes.
These changes are added with backward compatibilities. Older functions are deprecated.
- Rename RandomSearchSampler to RandomSampler (#137).
- Rename StudyOptionSetDirection to StudyOptionDirection (#138).
- Rename StudyOptionSetTrialNotifyChannel to StudyOptionTrialNotifyChannel (#138).
Minor bug fixes
- Fix
IntUniformDistribution.ToExternalRepr()
(#102) - Fix
IntUniformDistributions.Contains()
(#103) - Fix a bug when set attrs multiple times (#121)
- CMA-ES: fix numerical overflow errors (#126)
- Fix a bug of successive halving pruner (#120)
Example
Assets
2
c-bata released this
In this release, some internal methods made public for Kubeflow/Katib.
New feature
- Add study option to define search space (#99)
For Developers
- Public API to call relative sampler for Kubeflow/Katib (#100)
Others
- Generate stringer code for trial state (#101)
Assets
2
This release supports CMA-ES sampler and compatible with the RDB schema of Optuna v1.3.0.
New feature
- CMA-ES sampler (#93)
Internal chages
Bug fixes
- Fix concurrency problems of EnqueuTrial (#92)
Compatibility with Optuna RDB storage
This release has compatibility with Optuna v1.3.0.
Assets
2
This release supports enqueue_trial and has compatibility with the RDB schema of Optuna v1.2.0.
New feature
- Experimental support of EnqueueTrial (#86)
Bug fixes
- Fix trial number on RDB storage (#87)
Compatibility with Optuna RDB storage
This release has compatibility with Optuna v1.2.0.
Assets
2
This release contains ASHA support, experimental GP-BO support and a serious bug fix of the TPE optimization on DiscreteUniformDistribution.
New feature
- Published an integration sampler using go-bayesopt ( https://github.com/c-bata/goptuna-bayesopt ).
- Support an Asynchronous Successive Halving Algorithm (#52, #62)
- Add
RelativeSampler
interface for Gaussian Process and CMA-ES (#75, #76) - Add a subcommand to delete study (#56)
- Add a function to delete study (#57)
- Add study option for loading if exists (#61)
API changes
- Remove
ID
suffix fromstorage.CreateNew{Study,Trial}ID
methods (#53). - Avoid to update value when set intermediate values (#84)
Bug fixes
- Set a seed number to the inner random sampler of TPE sampler (#66)
- Fix an optimization of DiscreteUniform on TPE sampler (#79)
For Developers
- Use Go v1.13 on GitHub Actions (#59)
- Parse SQLAlchemy engine format using regexp (#67, #68, #69)
- Add kurobako-go benchmark for TPE sampler (#71)
Compatibility with Optuna RDB storage
This release has the compatibility with Optuna v1.1.0 or lower.
Assets
2
c-bata released this
New feature
- Support Optuna compatible RDB storage backend (#18)
- Add missing
SuggestLogUniform
andSuggestDiscreteUniform
methods in Trial (#23) - Provide
SetUserAttr
,GetUserAttrs
,SetSystemAttr
andGetSystemAttrs
methods in Trial and Study (#24) - Provide
GetContext
method in Trial for handling signals (#29)
Others
- Print more detail error logs (#28).
Assets
2
New feature
- Add MedianPruner and PercentilePruner which implements median stopping rule of Vizier (Google) (#11)
- Support DiscreteUniformDistribution (#14)
- Support LogUniformDistribution (#16)
Internal change
- Make TPE 30% faster (#9)
Assets
2
c-bata released this
ʕ◔ϖ◔ʔ Initial release
- Design components of goptuna
- Study: optimization based on an objective function
- Trial: a single execution of the objective function
- Storage: store the result of each trials
- Distribution: a representation of the parameter search space
- Sampler
- Tree of Parzen Estimators (TPE)
- Random Search
- Distribution
- UniformDistribution: a uniform distribution in the linear domain
- IntUniformDistribution: a uniform distribution on integers
- Add original notification system of finished trials.
- Add examples
Assets
2
Watchers:8 |
Star:169 |
Fork:9 |
创建时间: 2019-07-24 20:03:05 |
最后Commits: 4天前 |
许可协议:MIT |
d023ea9
Compare
Verified
CHANGES
Support a new sampler based on Sobol's Quasi-random Sequence
Goptuna now supports Sobol based sampler. See the paper S. Joe and F. Y. Kuo, Remark on Algorithm 659: Implementing Sobol's quasirandom sequence generator, ACM Trans. Math. Softw. 29, 49-57 (2003). for details.
np.random.rand()
(seed=0)Usage is like this:
Add
github.com/c-bata/gorm/rdb.v2
Add
rdb.v2
package built on gorm v2.So
github.com/c-bata/goptuna/rdb
package is now deprecated.Dashboard
Minor compatibility changes