Crates.io | kurobako |
lib.rs | kurobako |
version | 0.2.10 |
source | src |
created_at | 2019-03-16 15:40:54.758244 |
updated_at | 2022-04-20 10:32:09.08424 |
description | A black-box optimization benchmarking framework |
homepage | https://github.com/optuna/kurobako |
repository | https://github.com/optuna/kurobako |
max_upload_size | |
id | 121386 |
size | 189,339 |
kurobako
is a command-line tool to benchmark black-box optimization algorithms.
Features:
It has the capability to support wide range of optimization problems:
Generating a markdown report and PNG plots from benchmarking results
Easy to add user-defined optimization problems and solvers
Simulating a concurrent environment in which an optimization process is executed by multiple workers simultaneously
Reproducible
Precompiled binaries for Linux are available in the releases page.
$ curl -L https://github.com/optuna/kurobako/releases/download/${VERSION}/kurobako-${VERSION}.linux-amd64 -o kurobako
$ chmod +x kurobako
$ ./kurobako -h
If you have already installed Cargo, you can install kurobako
by executing the following command:
$ cargo install kurobako
If you want to use kurobako plot
command, you need to have installed gnuplot
package on your environment.
// Define solver.
$ kurobako solver random | tee solver.json
{"random":{}}
// Define problem.
$ curl -OL http://ml4aad.org/wp-content/uploads/2019/01/fcnet_tabular_benchmarks.tar.gz
$ tar xf fcnet_tabular_benchmarks.tar.gz && cd fcnet_tabular_benchmarks/
$ kurobako problem hpobench fcnet_protein_structure_data.hdf5 | tee problem.json
{"hpobench":{"dataset":"fcnet_protein_structure_data.hdf5"}}
// Run benchmark.
$ kurobako studies --solvers $(cat solver.json) --problems $(cat problem.json) | kurobako run > result.json
(ALL) [00:00:01] [STUDIES 10/10 100%] [ETA 0s] done
// Report the benchmark result.
$ cat result.json | kurobako report
...abbrev...
// Plot the benchmark result.
$ cat result.json | kurobako plot curve
(PLOT) [00:00:01] [1/1 100%] [ETA 0s] done (dir="images/curve/")
Solvers:
Problems:
"kurobako" is a Japanese translation of "black box".