42 个版本
0.2.10 | 2022年4月20日 |
---|---|
0.2.9 | 2021年2月28日 |
0.2.8 | 2021年1月12日 |
0.2.6 | 2020年9月20日 |
0.0.7 | 2019年3月28日 |
#214 in 科学
93 每月下载量
385KB
10K SLoC
kurobako
kurobako
是一个用于基准测试黑盒优化算法的命令行工具。
功能
- 支持广泛的优化问题
- 各种搜索空间
- 连续数值、离散数值和分类
- 均匀分布和对数均匀分布
- 条件性
- 约束问题
- 多目标问题
- 各种搜索空间
- 从基准测试结果生成 Markdown 报告和 PNG 图像
- 易于添加用户定义的优化问题和求解器
- 模拟由多个工作者同时执行的并发环境中的优化过程
- 可重复性
安装
预编译的二进制文件
Linux 的预编译二进制文件可在 发行版页面 获取。
$ curl -L https://github.com/optuna/kurobako/releases/download/${VERSION}/kurobako-${VERSION}.linux-amd64 -o kurobako
$ chmod +x kurobako
$ ./kurobako -h
使用 Cargo
如果您已经安装了 Cargo,您可以执行以下命令安装 kurobako
$ cargo install kurobako
依赖关系
如果您想使用 kurobako plot
命令,您需要在您的环境中安装 gnuplot
包。
使用示例
// 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/")
内置求解器和问题
求解器
问题
名字的由来是什么?
"kurobako" 是 "black box" 的日文翻译。
参考文献
依赖关系
~13–25MB
~369K SLoC