google/gin-config

Gin provides a lightweight configuration framework for Python

解決する問題

Gin は、複雑な設定オブジェクト(プロトコルバッファなど)や面倒なパラメータ受け渡しコードを不要にします。開発者はプロジェクト設定や実験パラメータを外部で管理でき、コアの Python コードをクリーンに保ちながら、高い柔軟性を維持できます。

仕組み

Gin はデコレータ @gin.configurable を使用して関数とクラスを登録します。登録後、それらのパラメータはシンプルな外部の ".gin" 設定ファイルまたはコマンドライン引数で設定または上書きできます。リテラル値を渡したり、他の設定可能な関数を参照したり、"スコープ" を使用してプログラムの異なる部分で同じ関数に異なる設定を適用したりできます。

対象ユーザー

TensorFlow や PyTorch を使用するなど、機械学習実験に取り組む開発者向けに特別に設計されています。これらのプロジェクトでは、複雑な階層構造にネストされた多くのパラメータが関与することがよくあります。

ハイライト

  • 関数とクラスにパラメータをバインドするためのシンプルな構文。
  • 参照を介してモジュールコンポーネントを配線することで、階層的な設定をサポート。
  • スコープにより、使用コンテキストに応じて同じ関数を異なる設定にできます。
  • 設定されたパラメータ値を自動的にログし、TensorBoard などのツールと統合。
  • 必要なコード変更は最小限:デコレータと単一の解析関数呼び出しを追加するだけです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト