たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

HydraとOmegaConf

Hydraの特徴: 実行時のconfig差し替えユーティリティが充実.

  • Defaults List: yaml内からの他yamlの呼び出し/composeを可能にする
  • Config Group: CLI引数でディレクトリ構造に基づいた他のyamlの呼び出し

要素ごとにConfigファイルを分割し、ディレクトリでグルーピング.
エントリーポイントConfigファイル(primary config)に Default List で第1選択の要素群を自動取り込み.
CLI引数で各グループのConfig切り替え指示.
これで任意のConfigが要素群から動的生成でき、multi-runとかも簡単.
ここまでの参考.

Structured Configをschemaにしてvalidationしたい場合、defaults list がうってつけ.
各Configごとに対応するschemaを入れておけば自動でmergeしてくれるので自然とvalidationがかかる.

当たり前だが、HydraもOmegaConfもConfig管理のユーティリティ.
Configをどう使うか・取りまわすかはほぼ触れない.