paulknysh/blackbox
A Python module for parallel optimization of expensive black-box functions
解决的问题
提供一种方法,用于寻找计算成本高昂的“黑箱”函数的全局最小值,例如用于神经网络超参数调优或运行复杂模拟的函数。
工作原理
该模块接收目标函数、定义的搜索域(参数范围)以及函数调用的总预算。通过将函数调用划分为多个批次,并在多核CPU或集群上并行评估这些批次,从而优化搜索过程。用户可以使用默认的 multiprocessing.Pool,也可以提供自定义的并行引擎,如 Dask 或 ipyparallel。
适用人群
需要对耗时过程进行参数优化,但底层数学函数未知或过于复杂而无法推导的开发者和研究人员。
主要亮点
- 并行执行:通过批量函数评估,可扩展至多核CPU和集群。
- 灵活执行:通过可调用的执行器支持自定义并行引擎(例如 Dask、ipyparallel、pathos)。
- 极简API:只需函数、搜索域和预算即可开始优化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目