A hyperparameter optimization framework, inspired by Optuna.
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) |
Sobol (Goptuna) |
---|---|
Usage is like this:
import (
"github.com/c-bata/goptuna"
"github.com/c-bata/goptuna/sobol"
)
func main() {
study, err := goptuna.CreateStudy(
"goptuna-example",
goptuna.StudyOptionRelativeSampler(sobol.NewSampler()), // Set Sobol based sampler.
)
...
}
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.
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.
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.
OptionSetReductionFactor
trial.ShouldPrune()
and remove trial.Report()
.These changes are added with backward compatibilities. Older functions are deprecated.
IntUniformDistribution.ToExternalRepr()
(#102)IntUniformDistributions.Contains()
(#103)In this release, some internal methods made public for Kubeflow/Katib.
New feature
For Developers
Others
From this release, new suggest API SuggestStepInt
for step-interval integer parameter is available.
SuggestUniform
, SuggestLogUniform
and SuggestDiscreteUniform
are deprecated. These APIs are renamed to Suggest...Float
API.
New feature
API changes
This release supports CMA-ES sampler and compatible with the RDB schema of Optuna v1.3.0.
New feature
Internal chages
Bug fixes
Compatibility with Optuna RDB storage
This release has compatibility with Optuna v1.3.0.
This release supports enqueue_trial and has compatibility with the RDB schema of Optuna v1.2.0.
New feature
Bug fixes
Compatibility with Optuna RDB storage
This release has compatibility with Optuna v1.2.0.