Distributed hyperparameter optimization framework, inspired by Optuna.

Goptuna

Software License GoDoc Go Report Card tests

Distributed hyperparameter optimization framework, inspired by Optuna [1]. This library is particularly designed for machine learning, but everything will be able to optimize if you can define the objective function (e.g. Optimizing the number of goroutines of your server and the memory buffer size of the caching systems).

Supported algorithms:

Goptuna supports various state-of-the-art Bayesian optimization, Evolution strategy and Multi-armed bandit algorithms. These algorithms are implemented in pure Go and continuously benchmarked on GitHub Actions.

  • Random search
  • TPE: Tree-structured Parzen Estimators [2]
  • CMA-ES: Covariance Matrix Adaptation Evolution Strategy [3]
  • IPOP-CMA-ES: CMA-ES with increasing population size [4]
  • BIPOP-CMA-ES: BI-population CMA-ES [5]
  • Median Stopping Rule [6]
  • ASHA: Asynchronous Successive Halving Algorithm (Optuna flavored version) [1,7,8]

Built-in dashboard:

Manage optimization results Interactive live-updating graphs
state-of-the-art-algorithms visualization

Projects using Goptuna:

Installation

You can integrate Goptuna in wide variety of Go projects because of its portability of pure Go.

$ go get -u github.com/c-bata/goptuna

Usage

Goptuna supports Define-by-Run style API like Optuna. You can dynamically construct the search spaces.

Basic usage

package main

import (
    "log"
    "math"

    "github.com/c-bata/goptuna"
    "github.com/c-bata/goptuna/tpe"
)

// ① Define an objective function which returns a value you want to minimize.
func objective(trial goptuna.Trial) (float64, error) {
    // ② Define the search space via Suggest APIs.
    x1, _ := trial.SuggestFloat("x1", -10, 10)
    x2, _ := trial.SuggestFloat("x2", -10, 10)
    return math.Pow(x1-2, 2) + math.Pow(x2+5, 2), nil
}

func main() {
    // ③ Create a study which manages each experiment.
    study, err := goptuna.CreateStudy(
        "goptuna-example",
        goptuna.StudyOptionSampler(tpe.NewSampler()))
    if err != nil { ... }

    // ④ Evaluate your objective function.
    err = study.Optimize(objective, 100)
    if err != nil { ... }

    // ⑤ Print the best evaluation parameters.
    v, _ := study.GetBestValue()
    p, _ := study.GetBestParams()
    log.Printf("Best value=%f (x1=%f, x2=%f)",
        v, p["x1"].(float64), p["x2"].(float64))
}

Link: Go Playground

Furthermore, I recommend you to use RDB storage backend for following purposes.

  • Continue from where we stopped in the previous optimizations.
  • Scale studies to tens of workers that connecting to the same RDB storage.
  • Check optimization results via built-in dashboard.

Advanced usage

Distributed optimization using MySQL

There is no complicated setup to use RDB storage backend. First, setup MySQL server like following to share the optimization result.

$ docker pull mysql:8.0
$ docker run \
  -d \
  --rm \
  -p 3306:3306 \
  --mount type=volume,src=mysql,dst=/etc/mysql/conf.d \
  -e MYSQL_USER=goptuna \
  -e MYSQL_DATABASE=goptuna \
  -e MYSQL_PASSWORD=password \
  -e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
  --name goptuna-mysql \
  mysql:8.0

Then, create a study object using goptuna CLI.

$ goptuna create-study --storage mysql://goptuna:password@localhost:3306/yourdb --study yourstudy
yourstudy
$ mysql --host 127.0.0.1 --port 3306 --user goptuna -ppassword -e "SELECT * FROM studies;"
+----------+------------+-----------+
| study_id | study_name | direction |
+----------+------------+-----------+
|        1 | yourstudy  | MINIMIZE  |
+----------+------------+-----------+
1 row in set (0.00 sec)

Finally, run the Goptuna workers which contains following code. You can execute distributed optimization by just executing this script from multiple server instances.

package main

import ...

func main() {
    db, _ := gorm.Open(mysql.Open("goptuna:password@tcp(localhost:3306)/yourdb?parseTime=true"), &gorm.Config{
        Logger: logger.Default.LogMode(logger.Silent),
    })
    storage := rdb.NewStorage(db)
    defer db.Close()

    study, _ := goptuna.LoadStudy(
        "yourstudy",
        goptuna.StudyOptionStorage(storage),
        ...,
    )
    _ = study.Optimize(objective, 50)
    ...
}

Full source code is available here.

Built-in Realtime Web Dashboard

You can check optimization results by built-in web dashboard.

SQLite3:

$ goptuna dashboard --storage sqlite:///example.db

MySQL:

$ goptuna dashboard --storage mysql://goptuna:[email protected]:3306/yourdb

goptuna dashboard

Shell script to reproduce this (SQLite3 version is here).

Links

References:

Presentations:

Blog posts:

Status:

License

This software is licensed under the MIT license, see LICENSE for more information.

Owner
Masashi SHIBATA
Creator of go-prompt. Optuna committer. Kubeflow/Katib reviewer.
Masashi SHIBATA
Comments
  • Benchmarking tool like sile/kurobako.

    Benchmarking tool like sile/kurobako.

    It seems to be useful to check the efficiency of optimization algorithm like sile/kurobako.

    • nasbench
      • https://arxiv.org/abs/1902.09635
      • https://github.com/automl/nas_benchmarks
    • sigopt/evalset
      • https://github.com/sigopt/evalset
    • hpobench
      • https://arxiv.org/abs/1905.04970
  • goptuna is not compiling using gollvm. asm level bugs caught

    goptuna is not compiling using gollvm. asm level bugs caught

    Hi. I have built and is able to use gollvm.

    When I tried to build your package - I caught such bugs:

    $ go get -u github.com/c-bata/goptuna/tpe

    gonum.org/v1/gonum/internal/asm/f64

    go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s: Assembler messages: go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:10: Error: no such instruction: text ·L1Norm(SB),NOSPLIT,$0' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:11: Error: junk(FP)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:11: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:12: Error: junk (FP)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:12: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:13: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:14: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:15: Error: too many memory references forpxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:16: Error: too many memory references for pxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:17: Error: too many memory references forpxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:18: Error: too many memory references for pxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:19: Error: too many memory references forpxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:20: Error: too many memory references for pxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:21: Error: too many memory references forpxor' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:22: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:24: Error: too many memory references for movq' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:25: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:26: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:27: Error: invalid character '=' in operand 1 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:31: Error: junk(AX8)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:31: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:32: Error: junk (SI)(AX*8)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:32: Error: too many memory references formovups' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:33: Error: junk (SI)(AX*8)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:33: Error: too many memory references formovups' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:34: Error: junk (SI)(AX*8)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:34: Error: too many memory references formovups' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:35: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:36: Error: too many memory references for addpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:37: Error: too many memory references foraddpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:38: Error: too many memory references for addpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:39: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:40: Error: too many memory references forsubpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:41: Error: too many memory references for subpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:42: Error: too many memory references forsubpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:43: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:44: Error: too many memory references for maxpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:45: Error: too many memory references formaxpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:46: Error: too many memory references for maxpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:47: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:48: Error: too many memory references formovaps' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:49: Error: too many memory references for movaps' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:50: Error: too many memory references formovaps' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:51: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:52: Error: bad expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:52: Error: junk } while --CX>0' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:55: Error: too many memory references foraddpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:56: Error: too many memory references for addpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:57: Error: too many memory references foraddpd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:60: Error: too many memory references for movaps' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:61: Error: invalid character '=' in operand 3 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:62: Error: too many memory references foraddsd' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:63: Error: operand size mismatch for cmp' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:64: Error: invalid character '=' in operand 1 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:67: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:68: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:72: Error: junk(AX8)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:72: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:73: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:74: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:75: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:76: Error: invalid character '=' in operand 2 go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:77: Error: bad expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:77: Error: junk i++' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:78: Error: bad expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:78: Error: junk} while --CX>0' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:81: Warning: X0' is not valid here (expected(%rsi)') go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:81: Error: junk (FP)' after expression go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:81: Warning:sum+24(FP)' is not valid here (expected (%rdi)') go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:52: Error: invalid operands (.text and *ABS* sections) for/' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:52: Error: division by zero go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:77: Error: invalid operands (UND and ABS sections) for /' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:77: Error: division by zero go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:78: Error: invalid operands (.text and *ABS* sections) for/' go/src/gonum.org/v1/gonum/internal/asm/f64/abssum_amd64.s:78: Error: division by zero

    It seems that your asm mix-ins are not suitable to LLVM oriented back-end. Or I am wrong? In any case: I suspect that it should be re-designed, to work with gollvm.

    Ivan

  • Update c-bata/github-actions-kurobako action to v4 - autoclosed

    Update c-bata/github-actions-kurobako action to v4 - autoclosed

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | c-bata/github-actions-kurobako | action | major | v2 -> v4 | | c-bata/github-actions-kurobako | action | major | v3 -> v4 |


    Release Notes

    c-bata/github-actions-kurobako

    v4

    Compare Source

    v3

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    :no_bell: Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by WhiteSource Renovate. View repository job log here.

  • Faster TPE categorical sampling

    Faster TPE categorical sampling

    Refs https://github.com/optuna/optuna/pull/1603

    • Motivation: The cardinality of categorical parameters tends to be lower than NEICandidates (default: 24).
    • Description of the changes: Use [0, 1, 2, 3, ...] instead of sample from l(x) distribution.
  • Support IPOP-CMA-ES algorithm.

    Support IPOP-CMA-ES algorithm.

  • Fix a bug of successive halving pruner and alter pruner API more Go-ish.

    Fix a bug of successive halving pruner and alter pruner API more Go-ish.

    Summary

    In this PR, I added an example which uses successive halving pruner, then I found a lot of issues like pruners haven't worked ever. This PR contains a few breaking changes around pruner API. But I merge this without backward compatibility because I'm sure that nobody uses pruning functionalities.

    • [x] Use successive halving pruner on gorgonia_iris.
    • [x] Alter pruner API more Go-ish.
    • [x] Fix a typo of successive halving pruner option.
    • [x] Fix a bug of successive halving pruner.

    Checklist

    • [x] I confirmed that Kubeflow/Katib does not uses pruner API.
    • [x] I confirmed that sile/kurobako-go does not uses pruner API.

    Example

    $ go run _examples/gorgonia_iris/main.go -dataset ./_examples/gorgonia_iris/iris.csv 
    2020/07/29 04:13:59 [INFO] Trial finished: trialID=0 state=Complete evaluation=0.000000
    2020/07/29 04:14:01 [INFO] Trial finished: trialID=1 state=Complete evaluation=0.666667
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=2 state=Complete evaluation=0.960000
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=3 state=Pruned evaluation=0.000000
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=4 state=Pruned evaluation=0.093333
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=5 state=Pruned evaluation=0.700000
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=6 state=Pruned evaluation=0.306667
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=7 state=Pruned evaluation=0.260000
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=8 state=Pruned evaluation=0.253333
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=9 state=Pruned evaluation=0.953333
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=10 state=Pruned evaluation=0.000000
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=11 state=Pruned evaluation=0.833333
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=12 state=Pruned evaluation=0.000000
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=13 state=Pruned evaluation=0.233333
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=14 state=Pruned evaluation=0.266667
    2020/07/29 04:14:03 [INFO] Trial finished: trialID=15 state=Pruned evaluation=0.580000
    2020/07/29 04:14:05 [INFO] Trial finished: trialID=16 state=Complete evaluation=0.966667
    2020/07/29 04:14:05 [INFO] Trial finished: trialID=17 state=Pruned evaluation=0.693333
    2020/07/29 04:14:05 [INFO] Trial finished: trialID=18 state=Pruned evaluation=0.253333
    2020/07/29 04:14:05 [INFO] Trial finished: trialID=19 state=Pruned evaluation=0.746667
    2020/07/29 04:14:05 [INFO] Trial finished: trialID=20 state=Pruned evaluation=0.433333
    2020/07/29 04:14:05 [INFO] Trial finished: trialID=21 state=Pruned evaluation=0.553333
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=22 state=Complete evaluation=0.966667
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=23 state=Pruned evaluation=0.306667
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=24 state=Pruned evaluation=0.000000
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=25 state=Pruned evaluation=0.000000
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=26 state=Pruned evaluation=0.313333
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=27 state=Pruned evaluation=0.153333
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=28 state=Pruned evaluation=0.000000
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=29 state=Pruned evaluation=0.233333
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=30 state=Pruned evaluation=0.000000
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=31 state=Pruned evaluation=0.706667
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=32 state=Pruned evaluation=0.333333
    2020/07/29 04:14:07 [INFO] Trial finished: trialID=33 state=Pruned evaluation=0.000000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=34 state=Pruned evaluation=0.733333
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=35 state=Pruned evaluation=0.793333
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=36 state=Pruned evaluation=0.960000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=37 state=Pruned evaluation=0.506667
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=38 state=Pruned evaluation=0.873333
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=39 state=Pruned evaluation=0.726667
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=40 state=Pruned evaluation=0.100000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=41 state=Pruned evaluation=0.000000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=42 state=Pruned evaluation=0.073333
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=43 state=Pruned evaluation=0.000000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=44 state=Pruned evaluation=0.926667
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=45 state=Pruned evaluation=0.033333
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=46 state=Pruned evaluation=0.000000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=47 state=Pruned evaluation=0.000000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=48 state=Pruned evaluation=0.000000
    2020/07/29 04:14:08 [INFO] Trial finished: trialID=49 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=50 state=Complete evaluation=0.966667
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=51 state=Pruned evaluation=0.426667
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=52 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=53 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=54 state=Pruned evaluation=0.426667
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=55 state=Pruned evaluation=0.406667
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=56 state=Pruned evaluation=0.313333
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=57 state=Pruned evaluation=0.946667
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=58 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=59 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=60 state=Pruned evaluation=0.220000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=61 state=Pruned evaluation=0.393333
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=62 state=Pruned evaluation=0.646667
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=63 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=64 state=Pruned evaluation=0.853333
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=65 state=Pruned evaluation=0.000000
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=66 state=Pruned evaluation=0.313333
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=67 state=Pruned evaluation=0.693333
    2020/07/29 04:14:10 [INFO] Trial finished: trialID=68 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=69 state=Pruned evaluation=0.900000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=70 state=Pruned evaluation=0.280000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=71 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=72 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=73 state=Pruned evaluation=0.560000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=74 state=Pruned evaluation=0.400000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=75 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=76 state=Pruned evaluation=0.686667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=77 state=Pruned evaluation=0.746667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=78 state=Pruned evaluation=0.306667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=79 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=80 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=81 state=Pruned evaluation=0.746667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=82 state=Pruned evaluation=0.346667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=83 state=Pruned evaluation=0.160000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=84 state=Pruned evaluation=0.780000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=85 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=86 state=Pruned evaluation=0.306667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=87 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=88 state=Pruned evaluation=0.060000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=89 state=Pruned evaluation=0.906667
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=90 state=Pruned evaluation=0.333333
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=91 state=Pruned evaluation=0.333333
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=92 state=Pruned evaluation=0.960000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=93 state=Pruned evaluation=0.000000
    2020/07/29 04:14:11 [INFO] Trial finished: trialID=94 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=95 state=Complete evaluation=0.973333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=96 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=97 state=Pruned evaluation=0.713333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=98 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=99 state=Pruned evaluation=0.400000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=100 state=Pruned evaluation=0.846667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=101 state=Pruned evaluation=0.946667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=102 state=Pruned evaluation=0.013333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=103 state=Pruned evaluation=0.586667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=104 state=Pruned evaluation=0.173333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=105 state=Pruned evaluation=0.713333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=106 state=Pruned evaluation=0.520000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=107 state=Pruned evaluation=0.173333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=108 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=109 state=Pruned evaluation=0.806667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=110 state=Pruned evaluation=0.820000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=111 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=112 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=113 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=114 state=Pruned evaluation=0.526667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=115 state=Pruned evaluation=0.260000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=116 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=117 state=Pruned evaluation=0.946667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=118 state=Pruned evaluation=0.273333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=119 state=Pruned evaluation=0.860000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=120 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=121 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=122 state=Pruned evaluation=0.506667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=123 state=Pruned evaluation=0.326667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=124 state=Pruned evaluation=0.720000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=125 state=Pruned evaluation=0.280000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=126 state=Pruned evaluation=0.266667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=127 state=Pruned evaluation=0.000000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=128 state=Pruned evaluation=0.080000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=129 state=Pruned evaluation=0.426667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=130 state=Pruned evaluation=0.793333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=131 state=Pruned evaluation=0.026667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=132 state=Pruned evaluation=0.946667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=133 state=Pruned evaluation=0.793333
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=134 state=Pruned evaluation=0.926667
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=135 state=Pruned evaluation=0.800000
    2020/07/29 04:14:14 [INFO] Trial finished: trialID=136 state=Pruned evaluation=0.766667
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=137 state=Pruned evaluation=0.726667
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=138 state=Pruned evaluation=0.900000
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=139 state=Pruned evaluation=0.153333
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=140 state=Pruned evaluation=0.900000
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=141 state=Pruned evaluation=0.893333
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=142 state=Pruned evaluation=0.766667
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=143 state=Pruned evaluation=0.373333
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=144 state=Pruned evaluation=0.513333
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=145 state=Pruned evaluation=0.580000
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=146 state=Pruned evaluation=0.733333
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=147 state=Pruned evaluation=0.866667
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=148 state=Pruned evaluation=0.000000
    2020/07/29 04:14:15 [INFO] Trial finished: trialID=149 state=Pruned evaluation=0.960000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=150 state=Complete evaluation=0.973333
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=151 state=Pruned evaluation=0.120000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=152 state=Pruned evaluation=0.833333
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=153 state=Pruned evaluation=0.860000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=154 state=Pruned evaluation=0.266667
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=155 state=Pruned evaluation=0.420000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=156 state=Pruned evaluation=0.366667
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=157 state=Pruned evaluation=0.600000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=158 state=Pruned evaluation=0.960000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=159 state=Pruned evaluation=0.280000
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=160 state=Pruned evaluation=0.886667
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=161 state=Pruned evaluation=0.393333
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=162 state=Pruned evaluation=0.826667
    2020/07/29 04:14:18 [INFO] Trial finished: trialID=163 state=Pruned evaluation=0.840000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=164 state=Pruned evaluation=0.940000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=165 state=Pruned evaluation=0.000000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=166 state=Pruned evaluation=0.313333
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=167 state=Pruned evaluation=0.120000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=168 state=Pruned evaluation=0.000000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=169 state=Pruned evaluation=0.000000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=170 state=Pruned evaluation=0.686667
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=171 state=Pruned evaluation=0.353333
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=172 state=Pruned evaluation=0.113333
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=173 state=Pruned evaluation=0.233333
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=174 state=Pruned evaluation=0.440000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=175 state=Pruned evaluation=0.873333
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=176 state=Pruned evaluation=0.906667
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=177 state=Pruned evaluation=0.806667
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=178 state=Pruned evaluation=0.173333
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=179 state=Pruned evaluation=0.960000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=180 state=Pruned evaluation=0.680000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=181 state=Pruned evaluation=0.000000
    2020/07/29 04:14:19 [INFO] Trial finished: trialID=182 state=Pruned evaluation=0.593333
    2020/07/29 04:14:20 [INFO] Trial finished: trialID=183 state=Pruned evaluation=0.960000
    2020/07/29 04:14:20 [INFO] Trial finished: trialID=184 state=Pruned evaluation=0.620000
    2020/07/29 04:14:20 [INFO] Trial finished: trialID=185 state=Pruned evaluation=0.333333
    2020/07/29 04:14:20 [INFO] Trial finished: trialID=186 state=Pruned evaluation=0.953333
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=187 state=Complete evaluation=0.973333
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=188 state=Pruned evaluation=0.373333
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=189 state=Pruned evaluation=0.533333
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=190 state=Pruned evaluation=0.886667
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=191 state=Pruned evaluation=0.826667
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=192 state=Pruned evaluation=0.686667
    2020/07/29 04:14:22 [INFO] Trial finished: trialID=193 state=Pruned evaluation=0.806667
    2020/07/29 04:14:23 [INFO] Trial finished: trialID=194 state=Pruned evaluation=0.960000
    2020/07/29 04:14:23 [INFO] Trial finished: trialID=195 state=Pruned evaluation=0.000000
    2020/07/29 04:14:23 [INFO] Trial finished: trialID=196 state=Pruned evaluation=0.500000
    2020/07/29 04:14:23 [INFO] Trial finished: trialID=197 state=Pruned evaluation=0.866667
    2020/07/29 04:14:23 [INFO] Trial finished: trialID=198 state=Pruned evaluation=0.940000
    2020/07/29 04:14:23 [INFO] Trial finished: trialID=199 state=Pruned evaluation=0.000000
    2020/07/29 04:14:23 Best evaluation=0.973333
    2020/07/29 04:14:23 Solver: Vanilla
    2020/07/29 04:14:23 Learning rate (vanilla): 0.001816
    
    
  • Add BlackHoleStorage towards 100k+ evaluations

    Add BlackHoleStorage towards 100k+ evaluations

    Example

    package main
    
    import (
    	"log"
    	"math"
    
    	"github.com/c-bata/goptuna"
    	"github.com/c-bata/goptuna/cmaes"
    )
    
    func objective(trial goptuna.Trial) (float64, error) {
    	x1, _ := trial.SuggestFloat("x1", -10, 10)
    	x2, _ := trial.SuggestFloat("x2", -10, 10)
    	return math.Pow(x1-2, 2) + math.Pow(x2+5, 2), nil
    }
    
    func main() {
    	relativeSampler := cmaes.NewSampler(
    		cmaes.SamplerOptionNStartupTrials(5))
    	study, err := goptuna.CreateStudy(
    		"goptuna-example",
    		goptuna.StudyOptionStorage(goptuna.NewBlackholeStorage(20)),
    		goptuna.StudyOptionRelativeSampler(relativeSampler),
    	)
    	if err != nil {
    		log.Fatal("failed to create study:", err)
    	}
    
    	if err = study.Optimize(objective, 200); err != nil {
    		log.Fatal("failed to optimize:", err)
    	}
    
    	v, err := study.GetBestValue()
    	if err != nil {
    		log.Fatal("failed to get best value:", err)
    	}
    	params, err := study.GetBestParams()
    	if err != nil {
    		log.Fatal("failed to get best params:", err)
    	}
    	log.Printf("Best evaluation=%f (x1=%f, x2=%f)",
    		v, params["x1"].(float64), params["x2"].(float64))
    }
    
    (venv) $ go run _examples/cmaes/main.go 
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=0 state=Complete evaluation=47.674293
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=1 state=Complete evaluation=16.564975
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=2 state=Complete evaluation=22.229764
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=3 state=Complete evaluation=132.160176
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=4 state=Complete evaluation=38.056051
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=5 state=Complete evaluation=46.057644
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=6 state=Complete evaluation=22.140480
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=7 state=Complete evaluation=62.531182
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=8 state=Complete evaluation=103.705104
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=9 state=Complete evaluation=27.084488
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=10 state=Complete evaluation=33.224279
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=11 state=Complete evaluation=32.438836
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=12 state=Complete evaluation=62.485697
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=13 state=Complete evaluation=10.835063
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=14 state=Complete evaluation=61.231569
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=15 state=Complete evaluation=18.656672
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=16 state=Complete evaluation=20.223998
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=17 state=Complete evaluation=14.679579
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=18 state=Complete evaluation=2.867698
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=19 state=Complete evaluation=22.586033
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=20 state=Complete evaluation=44.850342
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=21 state=Complete evaluation=12.376161
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=22 state=Complete evaluation=14.530727
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=23 state=Complete evaluation=0.252565
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=24 state=Complete evaluation=23.930059
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=25 state=Complete evaluation=18.707611
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=26 state=Complete evaluation=23.723537
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=27 state=Complete evaluation=60.388024
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=28 state=Complete evaluation=49.107782
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=29 state=Complete evaluation=20.578979
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=30 state=Complete evaluation=17.343054
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=31 state=Complete evaluation=15.230447
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=32 state=Complete evaluation=0.688558
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=33 state=Complete evaluation=29.037456
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=34 state=Complete evaluation=30.733836
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=35 state=Complete evaluation=3.108564
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=36 state=Complete evaluation=15.524595
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=37 state=Complete evaluation=54.670613
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=38 state=Complete evaluation=5.800003
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=39 state=Complete evaluation=8.017986
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=40 state=Complete evaluation=12.064258
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=41 state=Complete evaluation=20.230681
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=42 state=Complete evaluation=1.552530
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=43 state=Complete evaluation=12.454509
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=44 state=Complete evaluation=14.703087
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=45 state=Complete evaluation=44.842796
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=46 state=Complete evaluation=28.649740
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=47 state=Complete evaluation=7.217258
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=48 state=Complete evaluation=0.151439
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=49 state=Complete evaluation=2.177288
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=50 state=Complete evaluation=1.167271
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=51 state=Complete evaluation=5.765259
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=52 state=Complete evaluation=0.662816
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=53 state=Complete evaluation=7.699746
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=54 state=Complete evaluation=9.101934
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=55 state=Complete evaluation=5.414616
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=56 state=Complete evaluation=4.842222
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=57 state=Complete evaluation=0.617716
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=58 state=Complete evaluation=17.855878
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=59 state=Complete evaluation=1.285338
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=60 state=Complete evaluation=0.894557
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=61 state=Complete evaluation=1.662849
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=62 state=Complete evaluation=2.419421
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=63 state=Complete evaluation=7.075800
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=64 state=Complete evaluation=0.977344
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=65 state=Complete evaluation=2.240027
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=66 state=Complete evaluation=4.759263
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=67 state=Complete evaluation=0.153983
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=68 state=Complete evaluation=0.658265
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=69 state=Complete evaluation=1.020960
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=70 state=Complete evaluation=0.569522
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=71 state=Complete evaluation=0.539054
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=72 state=Complete evaluation=2.391731
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=73 state=Complete evaluation=1.262207
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=74 state=Complete evaluation=1.410689
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=75 state=Complete evaluation=0.490438
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=76 state=Complete evaluation=1.446373
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=77 state=Complete evaluation=0.214436
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=78 state=Complete evaluation=0.707316
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=79 state=Complete evaluation=0.888024
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=80 state=Complete evaluation=1.500627
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=81 state=Complete evaluation=0.128145
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=82 state=Complete evaluation=0.170781
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=83 state=Complete evaluation=0.141563
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=84 state=Complete evaluation=0.153672
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=85 state=Complete evaluation=0.532152
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=86 state=Complete evaluation=1.286757
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=87 state=Complete evaluation=0.359358
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=88 state=Complete evaluation=0.152523
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=89 state=Complete evaluation=0.296147
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=90 state=Complete evaluation=0.261162
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=91 state=Complete evaluation=0.301497
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=92 state=Complete evaluation=0.064521
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=93 state=Complete evaluation=0.691118
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=94 state=Complete evaluation=0.070931
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=95 state=Complete evaluation=0.301691
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=96 state=Complete evaluation=0.078933
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=97 state=Complete evaluation=0.563108
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=98 state=Complete evaluation=0.045807
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=99 state=Complete evaluation=0.327774
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=100 state=Complete evaluation=0.009999
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=101 state=Complete evaluation=0.148794
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=102 state=Complete evaluation=0.018099
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=103 state=Complete evaluation=0.136851
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=104 state=Complete evaluation=0.042859
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=105 state=Complete evaluation=0.282536
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=106 state=Complete evaluation=0.125910
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=107 state=Complete evaluation=0.003086
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=108 state=Complete evaluation=0.124410
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=109 state=Complete evaluation=0.072585
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=110 state=Complete evaluation=0.000829
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=111 state=Complete evaluation=0.008112
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=112 state=Complete evaluation=0.058168
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=113 state=Complete evaluation=0.005940
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=114 state=Complete evaluation=0.030128
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=115 state=Complete evaluation=0.029122
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=116 state=Complete evaluation=0.125034
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=117 state=Complete evaluation=0.034411
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=118 state=Complete evaluation=0.077104
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=119 state=Complete evaluation=0.013749
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=120 state=Complete evaluation=0.000399
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=121 state=Complete evaluation=0.002622
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=122 state=Complete evaluation=0.003346
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=123 state=Complete evaluation=0.021465
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=124 state=Complete evaluation=0.016046
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=125 state=Complete evaluation=0.001959
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=126 state=Complete evaluation=0.022310
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=127 state=Complete evaluation=0.008421
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=128 state=Complete evaluation=0.000264
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=129 state=Complete evaluation=0.001306
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=130 state=Complete evaluation=0.007589
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=131 state=Complete evaluation=0.010711
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=132 state=Complete evaluation=0.000137
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=133 state=Complete evaluation=0.013548
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=134 state=Complete evaluation=0.007672
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=135 state=Complete evaluation=0.003877
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=136 state=Complete evaluation=0.007667
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=137 state=Complete evaluation=0.001077
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=138 state=Complete evaluation=0.000195
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=139 state=Complete evaluation=0.004136
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=140 state=Complete evaluation=0.008115
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=141 state=Complete evaluation=0.003044
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=142 state=Complete evaluation=0.006253
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=143 state=Complete evaluation=0.002411
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=144 state=Complete evaluation=0.001576
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=145 state=Complete evaluation=0.001547
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=146 state=Complete evaluation=0.002558
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=147 state=Complete evaluation=0.000411
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=148 state=Complete evaluation=0.000084
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=149 state=Complete evaluation=0.001228
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=150 state=Complete evaluation=0.000052
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=151 state=Complete evaluation=0.002752
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=152 state=Complete evaluation=0.003859
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=153 state=Complete evaluation=0.000480
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=154 state=Complete evaluation=0.001038
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=155 state=Complete evaluation=0.000385
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=156 state=Complete evaluation=0.001061
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=157 state=Complete evaluation=0.000026
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=158 state=Complete evaluation=0.000357
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=159 state=Complete evaluation=0.000382
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=160 state=Complete evaluation=0.000301
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=161 state=Complete evaluation=0.001494
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=162 state=Complete evaluation=0.001063
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=163 state=Complete evaluation=0.000044
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=164 state=Complete evaluation=0.000445
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=165 state=Complete evaluation=0.000032
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=166 state=Complete evaluation=0.000349
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=167 state=Complete evaluation=0.000036
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=168 state=Complete evaluation=0.000382
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=169 state=Complete evaluation=0.000045
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=170 state=Complete evaluation=0.000028
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=171 state=Complete evaluation=0.000061
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=172 state=Complete evaluation=0.000109
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=173 state=Complete evaluation=0.000014
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=174 state=Complete evaluation=0.000067
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=175 state=Complete evaluation=0.000191
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=176 state=Complete evaluation=0.000165
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=177 state=Complete evaluation=0.000002
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=178 state=Complete evaluation=0.000125
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=179 state=Complete evaluation=0.000056
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=180 state=Complete evaluation=0.000019
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=181 state=Complete evaluation=0.000028
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=182 state=Complete evaluation=0.000052
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=183 state=Complete evaluation=0.000025
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=184 state=Complete evaluation=0.000046
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=185 state=Complete evaluation=0.000006
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=186 state=Complete evaluation=0.000011
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=187 state=Complete evaluation=0.000075
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=188 state=Complete evaluation=0.000009
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=189 state=Complete evaluation=0.000026
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=190 state=Complete evaluation=0.000059
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=191 state=Complete evaluation=0.000028
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=192 state=Complete evaluation=0.000004
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=193 state=Complete evaluation=0.000015
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=194 state=Complete evaluation=0.000057
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=195 state=Complete evaluation=0.000011
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=196 state=Complete evaluation=0.000016
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=197 state=Complete evaluation=0.000012
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=198 state=Complete evaluation=0.000019
    2020/04/13 02:39:31 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:39:31 [INFO] Trial finished: trialID=199 state=Complete evaluation=0.000002
    2020/04/13 02:39:31 Best evaluation=0.000002 (x1=1.998966, x2=-5.000825)
    

    Time: 10000 trials

    $ time go run _examples/cmaes/main.go 
    ...
    2020/04/13 02:44:33 [INFO] Trial finished: trialID=9999 state=Complete evaluation=NaN
    2020/04/13 02:44:33 Best evaluation=0.000000 (x1=2.000000, x2=-5.000000)
    
    real    0m2.370s
    user    0m2.287s
    sys     0m0.496s
    

    Time: 100000 trials

     $ time go run _examples/cmaes/main.go
    ...
    2020/04/13 02:41:47 [INFO] Trial finished: trialID=99998 state=Complete evaluation=NaN
    2020/04/13 02:41:47 [WARN] IntersectionSearchSpace: GetTrials return some trials are already deleted:
    2020/04/13 02:41:47 [INFO] Trial finished: trialID=99999 state=Complete evaluation=NaN
    2020/04/13 02:41:47 Best evaluation=0.000000 (x1=2.000000, x2=-5.000000)
    
    real    0m20.989s
    user    0m20.829s
    sys     0m1.421s
    

    v.s. InMemoryStorage

    | storage | InMemoryStorage | BlackHoleStorage | | --- | --- | --- | | 10000 trials | 1m1.88s | 0m2.370s | | 100000 trials | 96m26.527s | 0m20.989s |

  • Kurobako benchmark on GitHub Actions

    Kurobako benchmark on GitHub Actions

    I'm thinking about to run kurobako-go on GitHub Actions (refs #64)

    1. Trigger this action when created a PR which includes the code changes of algorithms.
    2. Run kurobako benchmark script (in _benchmarks directory)
    3. Post benchmark results on Pull Request as the comment like codecov.
  • HyperbandPruner

    HyperbandPruner

    https://arxiv.org/abs/1603.06560

    Hyperband requires two inputs:

    • R: the maximum amount of resource that can be allocated to a single configuration
    • η: an input that controls the proportion of configurations discarded in each round of SuccessiveHalving

    Functions:

    • run_then_return_val_loss(t, r) – a function that takes a hyperparameter configuration t and resource allocation r as input and returns the validation loss after training the configuration for the allocated resources.
    • top_k(configs, losses, k) – a function that takes a set of configurations as well as their associated losses and returns the top k performing configurations.
  • Use actions/cache for kurobako CLI

    Use actions/cache for kurobako CLI

    • Use actions/cache for kurobako CLI.
    • Use kurobako v0.2.0.
      • https://github.com/sile/kurobako/releases/tag/0.2.0
    • Run CMA-ES only on Rastrigin functions to make CI faster.
    • Use kurobako built-in Optuna solver.
  • List key features on README

    List key features on README

    I guess my presentation on GoConference Japan is helpful. https://www.slideshare.net/c-bata/goptuna-distributed-bayesian-optimization-framework-at-go-conference-2019-autumn-187538495

    Key features:

    | State-of-the-art algorithms | Optuna compatible RDB backend | | --------------------------- | ----------------------------- | | state-of-the-art-algorithms | optuna-compatibility |

  • Fix data race in TPE

    Fix data race in TPE

    Reference Issues/PRs

    Fixes #236

    What does this implement/fix? Explain your changes.

    While TPE reviews the trial parameters before making suggestions, the historical internal parameter should be protected under storage's mutex.

  • Concurrent map r/w in TPE

    Concurrent map r/w in TPE

    While TPE making suggestion, it will scan the trial history to making decision. It may cause data race fatal error while performing optimization concurrently with in-memory storage.

    fatal error: concurrent map read and map write
    
    goroutine 73 [running]:
    runtime.throw({0x52eb11d?, 0x4000?})
    	/usr/local/Cellar/go/1.18.1/libexec/src/runtime/panic.go:992 +0x71 fp=0xc000ebd250 sp=0xc000ebd220 pc=0x4035ff1
    runtime.mapaccess2_faststr(0x50d5000?, 0xc000f4f890?, {0xc000532738, 0x12})
    	/usr/local/Cellar/go/1.18.1/libexec/src/runtime/map_faststr.go:117 +0x3d4 fp=0xc000ebd2b8 sp=0xc000ebd250 pc=0x4014eb4
    github.com/c-bata/goptuna/tpe.getObservationPairs(0xc00012e950?, {0xc000532738, 0x12})
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/tpe/sampler.go:545 +0x1ff fp=0xc000ebd4a0 sp=0xc000ebd2b8 pc=0x4c7985f
    github.com/c-bata/goptuna/tpe.(*Sampler).Sample(0xc00012e910, 0xc000ea9740?, {0x397, 0x0, 0x397, 0x0, 0x0, 0xc0010c2030, {0xc0b1212152a98eb0, 0x87030fa01b, ...}, ...}, ...)
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/tpe/sampler.go:502 +0x12b fp=0xc000ebd5c0 sp=0xc000ebd4a0 pc=0x4c78f6b
    github.com/c-bata/goptuna.(*Trial).suggest(0xc0010c2390, {0xc000532738, 0x12}, {0x5147760, 0xc000c81e20})
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/trial.go:183 +0x256 fp=0xc000ebd7b0 sp=0xc000ebd5c0 pc=0x4c68a76
    github.com/c-bata/goptuna.(*Trial).SuggestFloat(0x4c5bec8?, {0xc000532738, 0x12}, 0x4?, 0xc0019b6000?)
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/trial.go:251 +0xb1 fp=0xc000ebd800 sp=0xc000ebd7b0 pc=0x4c69171
    
    ...
    
    goroutine 82 [runnable]:
    github.com/c-bata/goptuna.(*InMemoryStorage).SetTrialParam(0xc000192840, 0x394, {0xc000921f60, 0xd}, 0x400b3be10be8316b, {0x5147760?, 0xc001140120})
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/storage.go:396 +0x26a
    github.com/c-bata/goptuna.(*Trial).suggest(0xc0012c2090, {0xc000921f60, 0xd}, {0x5147760, 0xc001140120})
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/trial.go:188 +0x2bb
    github.com/c-bata/goptuna.(*Trial).SuggestFloat(0x4c5bec8?, {0xc000921f60, 0xd}, 0x4?, 0xc000154c00?)
    	/Users/coldturnip/go/pkg/mod/github.com/c-bata/[email protected]/trial.go:251 +0xb1
    
  • Bump terser from 5.5.1 to 5.14.2 in /dashboard

    Bump terser from 5.5.1 to 5.14.2 in /dashboard

    Bumps terser from 5.5.1 to 5.14.2.

    Changelog

    Sourced from terser's changelog.

    v5.14.2

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    • Source maps improvements (#1211)
    • Performance improvements in long property access evaluation (#1213)

    v5.14.1

    • keep_numbers option added to TypeScript defs (#1208)
    • Fixed parsing of nested template strings (#1204)

    v5.14.0

    • Switched to @​jridgewell/source-map for sourcemap generation (#1190, #1181)
    • Fixed source maps with non-terminated segments (#1106)
    • Enabled typescript types to be imported from the package (#1194)
    • Extra DOM props have been added (#1191)
    • Delete the AST while generating code, as a means to save RAM

    v5.13.1

    • Removed self-assignments (varname=varname) (closes #1081)
    • Separated inlining code (for inlining things into references, or removing IIFEs)
    • Allow multiple identifiers with the same name in var destructuring (eg var { a, a } = x) (#1176)

    v5.13.0

    • All calls to eval() were removed (#1171, #1184)
    • source-map was updated to 0.8.0-beta.0 (#1164)
    • NavigatorUAData was added to domprops to avoid property mangling (#1166)

    v5.12.1

    • Fixed an issue with function definitions inside blocks (#1155)
    • Fixed parens of new in some situations (closes #1159)

    v5.12.0

    • TERSER_DEBUG_DIR environment variable
    • @​copyright comments are now preserved with the comments="some" option (#1153)

    v5.11.0

    • Unicode code point escapes (\u{abcde}) are not emitted inside RegExp literals anymore (#1147)
    • acorn is now a regular dependency

    v5.10.0

    • Massive optimization to max_line_len (#1109)
    • Basic support for import assertions
    • Marked ES2022 Object.hasOwn as a pure function
    • Fix delete optional?.property
    • New CI/CD pipeline with github actions (#1057)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • Diff between goptuna Sobol sequence and scipy.stats.qmc.Sobol

    Diff between goptuna Sobol sequence and scipy.stats.qmc.Sobol

    Hi,

    Thank you so much on your work for Go optuna.

    There are differences between the Sobol sequence generated using goptuna Sobol Engine Draw versus scipy.stats.qmc.Sobol. Tracing the problem points to the wrong set of direction numbers being used.

    In func initDirectionNumbers from https://github.com/c-bata/goptuna/blob/main/sobol/engine.go, instead of

    dn := directionNumbers[j]
    

    it should be

    dn := directionNumbers[j-1]
    
  • Bayesian Optimization over Rest API

    Bayesian Optimization over Rest API

    Hello I was wondering if someone could publish an example showing how to use the library to accept inputs over something like a gin REST API call.

    My set up is I have another service that does some processing in real time and I want to try using Bayesian optimization to increase performance of it on the fly. I have 3 values that effect the processing application which I want the BO to give better values for. My "reward" or the evaluation happens on the processing application side.

    How can I set up goptuna to accept inputs from gin context and then respond with the next set of parameters to try.

    Thank you very much!

  • Bump lodash from 4.17.20 to 4.17.21 in /dashboard

    Bump lodash from 4.17.20 to 4.17.21 in /dashboard

    Bumps lodash from 4.17.20 to 4.17.21.

    Commits
    • f299b52 Bump to v4.17.21
    • c4847eb Improve performance of toNumber, trim and trimEnd on large input strings
    • 3469357 Prevent command injection through _.template's variable option
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

SGPM: A coroutine scheduling model for wound-wait concurrency control optimization

Environment set up off the mod go env -w GO111MODULE=off change to GPATH to project directory go env -w GOPATH=$HOME/sgpm Usage This project serves th

Dec 12, 2021
Vald. A Highly Scalable Distributed Vector Search Engine
Vald.  A Highly Scalable Distributed Vector Search Engine

Vald is a highly scalable distributed fast approximate nearest neighbor dense vector search engine.

Dec 29, 2022
PaddleDTX is a solution that focused on distributed machine learning technology based on decentralized storage.
PaddleDTX is a solution that focused on distributed machine learning technology based on decentralized storage.

中文 | English PaddleDTX PaddleDTX is a solution that focused on distributed machine learning technology based on decentralized storage. It solves the d

Dec 14, 2022
onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library.
onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library.

This is a Go Interface to Open Neural Network Exchange (ONNX). Overview onnx-go contains primitives to decode a onnx binary model into a computation b

Dec 24, 2022
The Go App Boot Framework

The Go App Boot Framework good is a http framework that makes developers write go applications much easier. Download and Install go get -u github.com/

Jan 11, 2022
Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)
Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)

eaopt is an evolutionary optimization library Table of Contents Changelog Example Background Features Usage General advice Genetic algorithms Overview

Dec 30, 2022
Genetic Algorithm and Particle Swarm Optimization

evoli Genetic Algorithm and Particle Swarm Optimization written in Go Example Problem Given f(x,y) = cos(x^2 * y^2) * 1/(x^2 * y^2 + 1) Find (x,y) suc

Dec 22, 2022
Go package for convex optimization

cvx Package cvx is a Go package for solving convex optimization problems. It is a straightforward translation of parts of the CVXOPT python package fo

Nov 23, 2022
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

Gonum Installation The core packages of the Gonum suite are written in pure Go with some assembly. Installation is done using go get. go get -u gonum.

Jan 8, 2023
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more

Gonum Installation The core packages of the Gonum suite are written in pure Go with some assembly. Installation is done using go get. go get -u gonum.

Dec 29, 2022
Opsani Ignite for Kubernetes: Evaluate Applications for Optimization
Opsani Ignite for Kubernetes: Evaluate Applications for Optimization

Opsani Ignite for Kubernetes Opsani Ignite analyzes applications running on a Kubernetes cluster in order to identify performance and reliability risk

Aug 5, 2022
SGPM: A coroutine scheduling model for wound-wait concurrency control optimization

Environment set up off the mod go env -w GO111MODULE=off change to GPATH to project directory go env -w GOPATH=$HOME/sgpm Usage This project serves th

Dec 12, 2021
7 days golang programs from scratch (web framework Gee, distributed cache GeeCache, object relational mapping ORM framework GeeORM, rpc framework GeeRPC etc) 7天用Go动手写/从零实现系列

7 days golang programs from scratch README 中文版本 7天用Go从零实现系列 7天能写什么呢?类似 gin 的 web 框架?类似 groupcache 的分布式缓存?或者一个简单的 Python 解释器?希望这个仓库能给你答案

Jan 5, 2023
Distributed-Services - Distributed Systems with Golang to consequently build a fully-fletched distributed service

Distributed-Services This project is essentially a result of my attempt to under

Jun 1, 2022
A distributed unique ID generator inspired by Twitter's Snowflake

Sonyflake is a distributed unique ID generator inspired by Twitter's Snowflake.

Jan 2, 2023
Kitten is a distributed file system optimized for small file storage, inspired by Facebook's Haystack.
Kitten is a distributed file system optimized for small file storage, inspired by Facebook's Haystack.

Kitten is a distributed file system optimized for small file storage, inspired by Facebook's Haystack.

Aug 18, 2022
⚡️ Express inspired web framework written in Go
⚡️ Express inspired web framework written in Go

Fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development w

Jan 2, 2023
Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.

Mango Mango is a modular web-application framework for Go, inspired by Rack and PEP333. Note: Not actively maintained. Overview Mango is most of all a

Nov 17, 2022
A Go framework for building JSON web services inspired by Dropwizard

Tiger Tonic A Go framework for building JSON web services inspired by Dropwizard. If HTML is your game, this will hurt a little. Like the Go language

Dec 9, 2022
Simple and lightweight Go web framework inspired by koa
Simple and lightweight Go web framework inspired by koa

VOX A golang web framework for humans, inspired by Koa heavily. Getting started Installation Using the go get power: $ go get -u github.com/aisk/vox B

Dec 14, 2022