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 科学

Download history 96/week @ 2024-03-28 10/week @ 2024-04-04

93 每月下载量

MIT 许可证

385KB
10K SLoC

kurobako

kurobako Documentation Actions Status Coverage Status License: MIT Docker Hub

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