概要
DeePKS-kit は、量子化学系向けの学習型エネルギー汎関数の開発を支援します。README では、摂動スキームの DeePHF と、自己無撞着スキームの DeePKS が区別されています。提供された資料が説明しているのは、単一の事前学習済み予測モデルではなく、モデルの学習と電子構造計算での利用を目的とする Python ライブラリおよびコマンドラインツールキットです。
deepks インターフェースは、ワークフローを5つの操作に分けています。train はニューラルネットワークベースの post-HF エネルギー汎関数を適合させ、test は提供されたデータで post-HF モデルを評価して統計情報を報告します。scf は提供されたエネルギーモデルを使って自己無撞着場計算を実行し、stats は SCF 結果の統計情報を集計します。iterate はこれらの操作を組み合わせ、自己無撞着モデルを反復的に学習します。したがって、文書に記載された入力には、モデルの学習またはテスト用データ、SCF 計算用のエネルギーモデル、設定パラメーターが含まれ、出力には学習済みモデル、計算結果、報告された統計情報が含まれます。出典の抜粋には、完全なデータスキーマや出力形式は記載されていません。
README には、水分子1個の例と水クラスターでの学習例へのリンクがあり、Slurm によるスケジューリングではなくローカルで実行するための個別の設定方法も案内されています。また、背景をさらに知るための手法論文へのリンクもあります。このパッケージは PyTorch と PySCF を自動的にインストールしないため、これらは別途インストールする必要があります。プロジェクトは正確なエネルギー汎関数の実現を目標に掲げていますが、出典の抜粋には、特定の系について精度、転移可能性、計算コストを立証するベンチマーク結果はありません。
主な機能
- 摂動型の DeePHF と自己無撞着型の DeePKS の両方のエネルギー汎関数ワークフローをサポートします。
- ニューラルネットワークベースの post-HF エネルギー汎関数モデルを適合させる `deepks train` を提供します。
- 提供されたデータで post-HF モデルを評価し、統計情報を報告する `deepks test` を提供します。
- 提供されたエネルギーモデルを使って `deepks scf` で自己無撞着場計算を実行し、`deepks stats` で結果の統計情報を集計します。
- `deepks iterate` により、学習、テスト、SCF 計算、統計処理を組み合わせて自己無撞着モデルを学習できます。
- 水分子1個および水クラスターの例を説明しており、入力パラメーターの案内と、Slurm に代わるローカル実行用の設定が含まれています。
用途
- 評価案:水分子1個の例を使って記載されたワークフローを確認し、その後、別の量子化学系に応用します。
- 評価案:適切な提供データを使って post-HF エネルギー汎関数を学習・テストし、報告された統計情報を用いて挙動を評価します。
- 評価案:水クラスターの例で反復的な自己無撞着モデル学習を試し、定めた評価プロトコルに基づいて結果を比較します。
使い方
- プロジェクト READMEを読み、摂動型の DeePHF と自己無撞着型の DeePKS のどちらのワークフローを使うか選びます。科学的背景については、リンク先の手法論文を参照してください。
- README に従って Python 環境を準備します。DeePKS-kit をインストールする前に、PyTorch と PySCF を別々にインストールしてください。これらの要件は自動ではインストールされません。
- README に記載されたリポジトリのインストール手順に従い、その後、リンク先の水分子1個の例を初期評価ケースとして確認します。新しい系にも適用できると決めつけないでください。
- 水クラスターの学習では、README がリンクしている
args.yamlのパラメーター案内を確認します。Slurm を使わずにローカルで実行する場合は、リンク先のshell.yaml設定も確認してください。 - ワークフローに応じて、文書に記載された
train、test、scf、stats、またはiterate操作を選びます。選択したデータで得られた統計情報を評価してください。出典の抜粋では、記載された例以外での性能は立証されていません。