概览
TorchMD-Net 是用于训练和使用分子及生物分子系统神经网络势的工具包,而非单一的预训练预测模型。其势函数以 PyTorch 模块形式提供,README 描述了与 ACEMD、OpenMM 和 TorchMD 的集成,可用于分子动力学工作流。TensorNet 和 TensorNet2 被列为可用架构;等变 Transformer、Transformer 和图神经网络架构则标记为已弃用。
训练可通过 YAML 文件或命令行参数配置,命令行值优先。对于自定义 NumPy 数据集,文档要求提供原子类型和原子坐标,并配有能量标签、力标签或两者兼有。其他数据集实现会返回包含 z 和 pos,以及 y、neg_dy 或两者兼有的 torch-geometric Data 对象。这些接口支持通过带标签的结构学习分子能量和坐标导数的工作流。仓库还记录了自定义先验模型和新增架构的扩展接口。
对于推理,TorchMD-Net 提供检查点加载和 ASE 计算器接口,并包含预训练 AceFF 模型的示例。加载器检测到文档所述的旧版标记时,会自动重新映射旧版 TensorNet 和 TensorNet2 检查点布局。该工具支持多节点训练,但 README 要求各节点的 GPU 数量相同,并提示异构 GPU 架构可能带来问题,也可能导致多 GPU 挂起。来源摘录并未证明其在任何特定化学领域中的预测准确性。仓库的 MIT 代码许可证不应被视为单独分发的模型权重或数据集适用相同条款的依据。
主要功能
- 将 TensorNet 和 TensorNet2 神经网络势实现为 PyTorch 模块;ET、T 和 GN 架构列为已弃用。
- 支持通过 YAML 文件和命令行参数配置训练,命令行参数可覆盖 YAML 设置。
- 加载包含原子类型、坐标及能量或力标签的自定义 NumPy 数据集,并支持 torch-geometric 数据集实现。
- 通过 `load_model` 提供预训练检查点加载,通过 `TMDNETCalculator` 提供 ASE 接口,并附有 AceFF 示例。
- 自动检测并重新映射文档所述的旧版 TensorNet 和 TensorNet2 检查点张量布局,并提供明确的覆盖选项。
- 记录了自定义先验模型、架构扩展以及带有 GPU 数量限制的多节点训练相关说明。
使用场景
- 预期评估:在带标签的结构集合上训练分子势,并评估其在留出构型上的能量和力预测。
- 预期评估:通过文档所述的 ASE 计算器工作流加载 AceFF 检查点,并评估其是否适用于目标分子系统。
- 预期评估:研究在 ACEMD、OpenMM 或 TorchMD 模拟工作流中使用已训练势的可能性,并核查相关集成要求。
- 预期评估:依据仓库的扩展指南,试用自定义先验模型或架构,并使用适当的验证数据集进行评估。
使用方式
- 阅读文档和仓库 README。选择训练势函数还是加载现有检查点,并留意哪些架构已弃用。
- 按照 README 中的 pip 或 conda/mamba 安装说明操作。通过链接的 PyTorch 安装说明选择 PyTorch 加速器构建版本,不要假定示例中的 CUDA 选项适用于你的环境。
- 如需训练,使用文档所述的自定义数据集接口准备原子类型、坐标以及能量或力标签。参阅示例配置,并注意命令行设置会覆盖 YAML 值。
- 如需预训练模型推理,参阅 AceFF 示例或检查点加载指南。在覆盖自动检测之前,先查看文档所述的旧版布局处理方式。
- 作为预期评估,在用于模拟之前,先评估模型对有代表性的留出结构所作的预测。如需扩展到多节点训练,请遵循 README 中各节点 GPU 数量相同的要求,并查看其中关于硬件和通信限制的说明。