本文へスキップ

GemNet

Johannes Gasteiger, Florian Becker, Stephan Günnemann

GemNetは、幾何学的メッセージパッシングモデルを用いて分子エネルギーと原子に作用する力を予測するPyTorch参照実装で、学習、ASEを用いた予測、分子動力学のノートブックを備えています。

掲載情報の更新 ·

概要

GemNetは、分子全体のエネルギーと各原子に作用する力の予測を目的とした、幾何学的メッセージパッシングニューラルネットワークです。このリポジトリが提供するのはPyTorch参照実装であり、元のTensorFlow 2実装ではありません。READMEでは後者が別途リンクされています。このプロジェクトは、モデルをNeurIPS 2021の論文と、分子動力学におけるグラフニューラルネットワークポテンシャルを検討した後続の論文に関連付けています。

このリポジトリは、モデルの学習から分子の予測およびシミュレーション例までのワークフローをサポートします。ユーザーは config.yaml または config_seml.yaml を使って作業を設定します。train.ipynb では学習を説明し、predict.ipynb ではASE経由で読み込んだ分子の予測を示します。文書に記載された出力は分子エネルギーと原子に作用する力です。出典の抜粋には、完全な入力スキーマ、対応する化学系の範囲、または学習データの要件は記載されていません。クラスターでのワークフロー向けには、train_seml.py がSacredおよびSEMLと学習を統合し、ase_example.ipynb が分子動力学での使用例を示します。

追加の準備手順として、初期化時の活性化スケーリングがあります。ユーザーは提供されている scaling_factors.json を選ぶか、fit_scaling.py を使って係数を計算できます。READMEによると、これらの係数はGemNetの各バリアントで共有されます。抜粋から確認できるのはこれらのワークフロー構成要素であり、数値精度の結果、実行時間の測定値、または実証されたシミュレーション安定性の限界は示されていません。したがって、利用を検討するユーザーは、特定の用途で検証済みとみなすのではなく、自身の分子とシミュレーション条件に対する適合性を評価してください。

主な機能

  • 幾何学的メッセージパッシングニューラルネットワークを用いて、分子全体のエネルギーと個々の原子に作用する力を予測します。
  • PyTorch参照実装を提供し、元のTensorFlow 2実装は別途リンクされています。
  • 学習用の `train.ipynb` と、ASE経由で読み込んだ分子の予測用 `predict.ipynb` を含みます。
  • SacredとSEMLを併用する `train_seml.py` により、クラスターでの学習ワークフローをサポートします。
  • 分子動力学シミュレーションでGemNetを使う方法を示す `ase_example.ipynb` を含みます。
  • 事前計算済みの活性化スケーリング係数 `scaling_factors.json` と、`fit_scaling.py` を使った計算ワークフローを提供します。

用途

  • 評価案:ASEを用いた予測ノートブックと適切な参照結果を使い、代表的な分子についてエネルギーと原子に作用する力の予測を評価する。
  • 評価案:分子エネルギーと原子に作用する力を学習する研究に合わせて、学習ノートブックと設定ファイルを調整する。
  • 評価案:ASE分子動力学ワークフローにおけるGemNetの役割を調べ、想定するシミュレーション条件下での挙動を確認する。
  • 評価案:クラスター上のモデル学習実験を整理するうえで、SacredとSEMLによる学習ワークフローが適切か評価する。

使い方

  1. リポジトリのREADMEを読み、PyTorchのワークフローと、別途リンクされたTensorFlow 2実装との違いを確認してください。採用前にコードライセンスを確認してください。
  2. パッケージ設定とリポジトリの依存関係を確認してください。設定にはPython >=3.8 と記載されていますが、出典の抜粋からはテスト済み環境を確認できません。
  3. ノートブックのワークフローでは config.yaml を、文書に記載されたクラスター学習の経路では config_seml.yaml を調整してください。リポジトリの train.ipynb または train_seml.py を参照してください。
  4. READMEの説明に従い、提供されている scaling_factors.json を選ぶか、fit_scaling.py を使って初期化用のスケーリング係数を計算してください。
  5. predict.ipynb を使い、ASE経由で読み込んだ分子の予測を確認してください。シミュレーションが目的であれば、次に ase_example.ipynb を調べてください。評価の手順として、結果を信頼する前に、出力を適切な参照データと比較してください。

関連リソース

TorchMD-Net

モデル

TorchMD-Netは、TensorNetアーキテクチャ、自作分子データセット、学習済みチェックポイントの読み込み、分子動力学との連携を備えた、学習可能なニューラルネットワークポテンシャルをPyTorchモジュールとして実装します。

オープンソースPython

分子特性予測 · 計算化学

Allegro

モデル

Allegro は NequIP の拡張として E(3) 等変原子間ポテンシャルを実装し、文書化された GPU 高速化オプションと、LAMMPS シミュレーション用の独立したプラグインを提供します。

オープンソースPython

計算化学 · 材料探索

ASE

オープンソース

ASE は原子シミュレーション向け Python ライブラリで、共通の計算器インターフェースを通じて従来の計算コードと外部の機械学習ポテンシャルを接続します。

オープンソースPython

計算化学

computational-chemistry-agent-skills コレクションに含まれる ASE ルーティング Skill。ワークフローの準備と計算器の設定を分け、実行は別の担当先に委任します。

計算化学 · 材料探索

Cantera Skill (K-Dense) は、均相着火計算の手順と Python ヘルパーを提供し、機構の出典記録、保存則の診断、数値的な細分化チェックを含みます。

オープンソースPython

計算化学 · プロセス最適化

ChemAgent (AI4Chem)

エージェント

ChemAgent (AI4Chem) は化学・材料分野でのツール利用を目的とする研究フレームワークであり、木探索による計画、ツール実行、ChemToolBench に基づく学習を扱う CheMatAgent 論文と関連しています。

計算化学 · 材料探索

関連ガイド