本文へスキップ

PhysNet

Meuwly Group

PhysNetは、分子のエネルギー、力、双極子モーメント、部分電荷を予測するニューラルネットワークのTensorFlow実装です。設定可能なトレーニングワークフローとサンプルデータセットを備えています。

掲載情報の更新 ·

概要

PhysNetは、リンク先のPhysNet論文で説明されているニューラルネットワークのTensorFlow実装を提供します。READMEでは、引用された論文タイトルを通じて、モデルの予測対象がエネルギー、力、双極子モーメント、部分電荷であると示されています。文書化されたワークフローは、ホスト型予測サービスへのアクセスではなく、用意したデータセットとユーザーが選択した設定を使ったモデルのトレーニングを中心としています。

トレーニングはconfig.txtで設定し、ハイパーパラメーター、データセットの場所、トレーニングセットと検証セットのサイズを指定します。READMEは、利用可能なオプションの全一覧についてtrain.pyを参照するよう案内しており、同ファイルをトレーニングのエントリーポイントとして示しています。付属の設定はsn2_reactions.npzを想定しています。これはリンク先のZenodoレコードから入手できるサンプルデータセットです。別のデータセットを使う場合も同じ形式に従う必要があり、形式の詳細を確認するための指定資料はデータセット自体のREADMEです。

明記されている実行時要件はPython 3とTensorFlowです。READMEにはPython 3.6.3およびTensorFlow 1.10.1でテストしたとありますが、提示された根拠からは他のバージョンとの互換性は確認できません。また、正確な入力フィールド、予測ファイルの形式、事前学習済み重み、推論手順についても説明されていません。分子特性予測ワークフローへの統合を計画する際には、こうした不足情報が重要です。提示された抜粋から確認できるのは、設定可能な研究用トレーニング実装であることまでであり、すぐに使える予測インターフェースや特定用途における実測精度が確立されているわけではありません。

主な機能

  • リンク先の研究論文で説明されているPhysNetニューラルネットワークのTensorFlow実装。
  • モデルの予測対象はエネルギー、力、双極子モーメント、部分電荷。
  • config.txtを使ったトレーニング設定。ハイパーパラメーター、データセットの場所、トレーニングセットと検証セットのサイズを指定可能。
  • トレーニングのエントリーポイントはtrain.pyで、利用可能な設定オプションも同ファイルに記載。
  • デフォルト設定はsn2_reactions.npzを対象とし、サンプルと同じ形式に従う別のデータセットも使用可能。

用途

  • 評価案:リンク先のsn2_reactions.npzデータセットを使い、文書化されたトレーニングワークフローを評価する。
  • 評価案:サンプル形式で分子データセットを準備し、引用論文で示された予測対象にPhysNetを適用できるか検討する。
  • 評価案:文書化されたハイパーパラメーターやトレーニングセットと検証セットの分割設定が、研究用トレーニングワークフローに与える影響を調べる。

使い方

  1. 公式READMEを読み、トレーニングワークフローと明記された要件を確認します。READMEではPython 3.6.3およびTensorFlow 1.10.1でテストしたとされています。他の環境については別途、互換性を評価する必要があります。
  2. 予測対象が研究課題に合致するか判断する前に、モデルの詳細についてPhysNet論文を確認します。
  3. Zenodoレコードからサンプルデータセットを入手します。特に独自データへの置き換えを予定している場合は、そのデータセットのREADMEを読み、形式要件を確認してください。
  4. リポジトリでtrain.pyを調べて利用可能なオプションを確認し、config.txtを編集してデータセットの場所、ハイパーパラメーター、トレーニングセットと検証セットのサイズを設定します。
  5. READMEの指示に従い、train.pyからトレーニングを開始します。実行結果は評価対象として扱い、出力を確認したうえで目的のタスクへの適合性を評価してください。精度や転移可能性を前提にしないでください。

関連リソース

DimeNet

モデル

DimeNetは、分子グラフ上の方向性メッセージパッシングに用いるDimeNetおよびDimeNet++の参照実装を提供し、学習ノートブック、テストセット予測ワークフロー、事前学習済みモデルを含みます。

Python

分子特性予測 · 量子化学

QML

オープンソース

QML は、Fortran による表現、カーネル、ソルバーモジュールを備えた、アーカイブ済みの量子機械学習向け Python ツールキットです。以降の開発は qmllib に移行しています。

オープンソースPython

分子特性予測 · 量子化学

SchNetPack

モデル

SchNetPack は、原子系ニューラルネットワークの構築と学習に用いる Python ツールキットです。SchNet および PaiNN 表現、量子化学的な物性出力、分子動力学コンポーネントを備えています。

オープンソースPython

分子特性予測 · 量子化学

SpookyNet

モデル

SpookyNetは、電子自由度と非局所効果を含む力場を学習するものとして説明されているPython研究パッケージです。関連論文が引用されており、リポジトリのコードにはMITライセンスが適用されています。

オープンソースPython

分子特性予測 · 量子化学

TorchANI

モデル

TorchANI は、ANI 系ニューラルネットワーク原子間ポテンシャルの開発、学習、利用を目的とした PyTorch ライブラリです。記述子の計算と推論には、オプションの C++ および CUDA 拡張を利用できます。

オープンソースPythonC++

分子特性予測 · 量子化学

ANI-1

データセット

ANI-1 は、計算された非平衡分子配座を提供し、有機分子の座標とエネルギーを含む HDF5 ファイルにアクセスするための Python リーダーを備えています。

オープンソースPython

量子化学

関連ガイド