跳转到正文

TorchANI

Ignacio Pickering; Xiang Gao; Jinze Xue / Roitberg group

TorchANI 是一个基于 PyTorch 的库,用于开发、训练和使用 ANI 风格的神经网络原子间势,并可选用 C++ 和 CUDA 扩展来计算描述符和执行推理。

条目更新 ·

概览

TorchANI 在 PyTorch 中实现了 ANI 神经网络势系列。其文档所述用途是支持 ANI 风格神经网络原子间势的训练、开发和研究,而不是提供单一的独立预测模型。README 将 Roitberg group 列为该项目的原始开发者和当前维护者,并提供了相关文档和出版物的链接。

在分子建模工作流中,TorchANI 提供使用这类势的基础设施,包括描述符计算和网络推理。可选的 C++ 和 CUDA 扩展可加速这些操作。来源摘录没有说明确切的分子输入格式、输出结构、支持的元素或各个预训练模型的适用范围;在选择科学应用之前,需要查阅所链接的文档以确认这些细节。对于使用 Amber 进行分子动力学模拟,README 指向一个独立的 TorchANI-Amber 接口,该接口支持完整的机器学习和 ML/MM 工作流;仅凭核心软件包本身并不能确认存在这类集成。

安装指南倾向于在隔离环境中使用 pip,因为文档称 conda 软件包已无人维护。软件包元数据要求 Python >=3.10,并指定了 PyTorch 依赖项。README 表示支持 CUDA GPU 且建议使用 GPU,同时提醒没有 GPU 时性能会降低。README 还指出,AMD GPU 支持和 Apple MPS 未经测试,macOS 不支持 CUDA。现有用户可查阅迁移指南了解 API 变更。来源摘录没有给出定量的准确度或速度基准,因此是否适用于特定化学任务仍需评估。

主要功能

  • 基于 PyTorch 实现 ANI 神经网络势系列,用于训练、开发和研究。
  • 可选用 C++ 和 CUDA 扩展来计算描述符和执行网络推理。
  • 可在 CUDA GPU 上运行,项目建议使用 GPU。
  • 提供 `ani` 命令行入口,用于项目实用工具,包括构建扩展。
  • 提供 `.legacy_state_dict()` 方法,以便在迁移期间访问较早的 ANI 模型状态字典。

使用场景

  • 建议评估:开发或训练 ANI 风格的原子间势,并通过文档确认支持的数据表示形式和训练流程。
  • 建议评估:在检查各模型支持的化学范围和文档所述输出后,评估其在代表性分子体系上的神经势推理能力。
  • 建议评估:通过独立的 TorchANI-Amber 接口,探索使用 Amber 进行完整 ML 或 ML/MM 分子动力学模拟。
  • 建议评估:使用迁移指南,并在需要时借助旧版状态字典访问功能,迁移现有 TorchANI 工作流。

使用方式

  1. 从官方文档入手,选择训练或推理示例。确认其分子输入、预期输出和模型适用范围;这些细节未在摘录中提供。
  2. 查看仓库安装指南。选择隔离环境,并核对所提供软件包元数据中的 Python 和 PyTorch 要求。README 建议使用 pip,因为 conda 软件包已不再维护。
  3. 判断是否适合使用 CUDA 运行。对于编译扩展,请遵循所链接的 CUDA Toolkit 指南,并在遵循仓库构建说明之前,确保工具包与所选 PyTorch 环境匹配。
  4. 对于现有工作流,请查阅迁移指南。检查 API 变更,以及是否需要旧版模型状态字典。
  5. 作为预定的评估步骤,在具有代表性的输入上运行文档中的示例,并将科学适用性与安装是否成功分开评估。对于 Amber 模拟,在规划集成之前,请查阅独立的 TorchANI-Amber 仓库。

相关资源

DimeNet

模型

DimeNet 提供 DimeNet 和 DimeNet++ 的参考实现,用于分子图上的方向性消息传递,并包含训练笔记本、测试集预测工作流和预训练模型。

Python

分子性质预测 · 量子化学

PhysNet

模型

PhysNet 是一个 TensorFlow 实现,用于预测分子能量、力、偶极矩和部分电荷,并提供可配置的训练工作流和示例数据集。

开源Python

分子性质预测 · 量子化学

QML

开源工具

QML 是一个已归档的 Python 量子机器学习工具包,包含由 Fortran 支持的表示、核函数和求解器模块。后续开发已转移至 qmllib。

开源Python

分子性质预测 · 量子化学

SchNetPack 是一个用于构建和训练原子尺度神经网络的 Python 工具包,提供 SchNet 和 PaiNN 表征、量子化学性质输出以及分子动力学组件。

开源Python

分子性质预测 · 量子化学

SpookyNet

模型

SpookyNet 是一个 Python 研究软件包,据描述可学习包含电子自由度和非局域效应的力场;该项目附有一篇引用论文,且仓库代码采用 MIT 许可证。

开源Python

分子性质预测 · 量子化学

ANI-1

数据集

ANI-1 提供计算得到的非平衡分子构象,并附有 Python 读取器,用于访问包含有机分子坐标和能量的 HDF5 文件。

开源Python

量子化学

相关指南

模型

QM9 分子性质预测:如何正确评估

明确 QM9 目标和单位,区分分子图与几何输入,防止评估泄漏,并保留原始数据与处理过程的来源记录。