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