paulknysh/blackbox

A Python module for parallel optimization of expensive black-box functions

解决的问题

提供一种方法,用于寻找计算成本高昂的“黑箱”函数的全局最小值,例如用于神经网络超参数调优或运行复杂模拟的函数。

工作原理

该模块接收目标函数、定义的搜索域(参数范围)以及函数调用的总预算。通过将函数调用划分为多个批次,并在多核CPU或集群上并行评估这些批次,从而优化搜索过程。用户可以使用默认的 multiprocessing.Pool,也可以提供自定义的并行引擎,如 Dask 或 ipyparallel。

适用人群

需要对耗时过程进行参数优化,但底层数学函数未知或过于复杂而无法推导的开发者和研究人员。

主要亮点

  • 并行执行:通过批量函数评估,可扩展至多核CPU和集群。
  • 灵活执行:通过可调用的执行器支持自定义并行引擎(例如 Dask、ipyparallel、pathos)。
  • 极简API:只需函数、搜索域和预算即可开始优化。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目