paulknysh/blackbox

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

解決的問題

提供一種方法,用於尋找計算成本高昂的「黑箱」函數的全域最小值,例如用於神經網路超參數調校或執行複雜模擬的函數。

工作原理

此模組接收目標函數、定義的搜尋領域(參數範圍)以及函數呼叫的總預算。透過將函數呼叫劃分為多個批次,並在多核心CPU或叢集上並行評估這些批次,從而優化搜尋過程。使用者可使用預設的 multiprocessing.Pool,也可提供自訂的平行引擎,如 Dask 或 ipyparallel。

適用對象

需要對耗時過程進行參數最佳化,但底層數學函數未知或過於複雜而無法推導的開發者與研究人員。

主要亮點

  • 平行執行:透過批次函數評估,可擴展至多核心CPU與叢集。
  • 彈性執行:透過可呼叫的執行器支援自訂平行引擎(例如 Dask、ipyparallel、pathos)。
  • 極簡API:只需函數、搜尋領域與預算即可開始最佳化。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案