本文へスキップ

QML

Anders S. Christensen

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

掲載情報の更新 ·

概要

QML は量子機械学習向けの Python ツールキットであり、パッケージのメタデータでは量子化学も関連分野として挙げられています。提供される予測モデルやホスト型サービスではなく、ソフトウェアツールキットです。リポジトリは現在アーカイブされています。README では、今後の開発、イシュー、プルリクエストを qmllib に移すよう案内しつつ、master および develop ブランチをアーカイブとして保持しています。そのため、QML は主に旧実装の調査や、QML に依存する既存ワークフローの評価に関係します。

ビルド設定では、表現、カーネル、距離、数学ソルバー向けのコンパイル済み Fortran コンポーネントを含む Python パッケージが公開されています。また、FCHL および ARAD のカーネルコンポーネント、SLATM および ACSF の表現コンポーネントに加え、勾配、力、電場カーネル用の専用ソースファイルも記載されています。これらのコンポーネントは、表現に基づく科学機械学習ワークフローでの利用を示唆します。ただし、出典の抜粋には、呼び出し可能なインターフェース、受け付ける分子入力形式、配列レイアウト、返される出力構造の説明がありません。具体的なデータ処理パイプラインを定める前に、これらの詳細を確認する必要があります。

setup のソースでは numpy.distutils を使用し、BLAS/LAPACK や条件付きの MKL 処理を含む、コンパイラおよび数値ライブラリのリンク設定が記載されています。これらはビルドに関する情報であり、インストールの成功や現行プラットフォームとの互換性を示すものではありません。README は qmllib を、依存関係を減らし NumPy 2.0 に対応した、QML の Fortran コアの簡素化された後継として説明しています。この互換性に関する記述は qmllib に適用されるものであり、アーカイブ済みの QML には当てはまりません。ここにはベンチマーク結果、予測精度、学習データセット、完全なエンドツーエンドの例は示されていません。

主な機能

  • 表現、カーネル、数学ルーチン、モデル、ワークフロー関連モジュールを含む Python パッケージ構成。
  • カーネル計算、距離計算、数学ソルバー向けのコンパイル済み Fortran 拡張。
  • 表現拡張のソースには SLATM および ACSF コンポーネントが含まれます。
  • FCHL 拡張のソースにはスカラー、力、電場のカーネルコンポーネントが含まれます。また、勾配カーネルおよび ARAD カーネルの独立した拡張も記載されています。
  • ビルド設定には BLAS/LAPACK のリンクと条件付きの MKL 処理が含まれます。

用途

  • 評価用途:QML に依存する既存ワークフローを保守または再現する際に、アーカイブ済みの実装を調査する。
  • 評価用途:インターフェースとデータ要件を確認したうえで、量子化学機械学習パイプラインの構成要素候補として、表現およびカーネルの各コンポーネントを検討する。
  • 評価用途:既存プロジェクトに必要な機能と後継プロジェクトの文書化された範囲を比較し、アーカイブ済みの QML から qmllib への移行を評価する。

使い方

  1. まずアーカイブに関する案内を読み、タスクに必要なのが歴史的な QML コードなのか、それとも後継プロジェクトを対象にすべきなのかを判断します。
  2. QML リポジトリに保持されている master および develop ブランチを確認します。アーカイブが現在も積極的に保守されていると仮定せず、既存ワークフローが依存するブランチとリビジョンを記録します。
  3. setup.pyを確認し、関連する表現、カーネル、またはソルバー拡張と、それらが依存するコンパイラおよび数値ライブラリを特定します。抜粋から、動作するインストール手順が確立されているとは判断できません。
  4. 自分のデータを評価する前に、リポジトリで選択したコンポーネントのインターフェースを探し、入力形式、出力構造、例の有無を確認します。出典の抜粋には、これらの詳細は記載されていません。
  5. リポジトリのコードライセンスを確認し、今後の開発やイシュー報告については qmllibを参照します。NumPy 2.0 に関する記述は後継プロジェクトに固有のものとして扱い、QML の互換性を保証するものと見なさないでください。

関連リソース

DimeNet

モデル

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

Python

分子特性予測 · 量子化学

PhysNet

モデル

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

オープンソース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

量子化学

関連ガイド