マルチオブジェクト、コスト認識、および(マルチ)マルチフィデル最適化アルゴリズムに関する研究をサポートおよび促進するために構築された、共同アーキテクチャとハイパーパラメーター検索(JAHS)の代理ベンチマークの最初のコレクション。
こちらのドキュメントをご覧ください。データ収集と代理作成プロセス、および実験に関する正確な詳細は、Assoscied Publicationに記載されています。
PIPを使用します
pip install jahs-bench
オプションで、Surrogate Benchmarkを事前に使用するために必要なデータをダウンロードできます
python -m jahs_bench.download --target surrogates
インストールが成功したかどうかをテストするために、例えば、最小限の例を実行できます
python -m jahs_bench_examples.minimal
これにより、構成をランダムにサンプリングし、サンプリングされた構成とその構成のサロゲートをクエリする結果の両方を表示する必要があります。注:最近、サロゲートモデルに使用されるライブラリであるXGBoostが、MACOSとの互換性の互換性の問題に苦しむ可能性があることを発見しました。そのような問題に遭遇したユーザーは、詳細についてはこのディスカッションを参照することができます。
ジョイントアーキテクチャとハイパーパラメーター(JAHS)スペースの構成は、辞書として表されます。
config = {
'Optimizer' : 'SGD' ,
'LearningRate' : 0.1 ,
'WeightDecay' : 5e-05 ,
'Activation' : 'Mish' ,
'TrivialAugment' : False ,
'Op1' : 4 ,
'Op2' : 1 ,
'Op3' : 2 ,
'Op4' : 0 ,
'Op5' : 2 ,
'Op6' : 1 ,
'N' : 5 ,
'W' : 16 ,
'Resolution' : 1.0 ,
}
検索スペースと構成に関する完全な説明については、ドキュメントを参照してください。
import jahs_bench
benchmark = jahs_bench . Benchmark ( task = "cifar10" , download = True )
# Query a random configuration
config = benchmark . sample_config ()
results = benchmark ( config , nepochs = 200 )
# Display the outputs
print ( f"Config: { config } " ) # A dict
print ( f"Result: { results } " ) # A dict
ベンチマークのAPIを使用すると、ユーザーはサロゲートモデル(デフォルト)またはパフォーマンスデータの表を照会するか、ベンチマークで使用したのと同じパイプラインを使用して、ゼロから検索スペースから構成をトレーニングできます。ただし、ユーザーは、後者の機能には、オプションのdata_creation
コンポーネントとその関連する依存関係を備えたjahs_bench_201
のインストールが必要であることに注意する必要があります。関連するデータは、APIによって自動的にダウンロードできます。詳細については、ドキュメントを参照してください。
サロゲートモデルをトレーニングするために使用されるパフォーマンスデータセットのドキュメントと、サロゲートモデルに関するさらなる情報を提供します。
実験リポジトリとドキュメントをご覧ください。
いくつかの最適化タスクとアルゴリズムフレームワークのリーダーボードを維持します。