paulknysh/blackbox
A Python module for parallel optimization of expensive black-box functions
何を解決するか
計算コストが高い評価が必要な「ブラックボックス」関数のグローバル最小値を探索する方法を提供します。たとえば、ニューラルネットワークのハイパーパラメータ調整や複雑なシミュレーションに使用される関数です。
動作方法
このモジュールは、ターゲット関数、定義された探索領域(パラメータの範囲)、および関数呼び出しの総予算を受け取ります。関数呼び出しをバッチに分割し、マルチコアCPUやクラスタ上で並列で評価することで、探索を最適化します。ユーザーはデフォルトの multiprocessing.Pool を使用するか、Dask や ipyparallel などのカスタム並列エンジンを提供できます。
対象ユーザー
下位の数学的関数が不明または複雑すぎて導出できない、時間のかかるプロセスのパラメータ最適化が必要な開発者や研究者です。
特徴
- 並列実行: 関数評価をバッチ化することで、マルチコアCPUやクラスタにスケーリング可能。
- 柔軟な実行: カスタム並列エンジン(例: Dask, ipyparallel, pathos)をコール可能エグゼキューター経由でサポート。
- ミニマルAPI: 最適化を開始するには、関数、探索領域、予算の3つだけが必要。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト