跳转到正文

MEGNet

Chi Chen / Materials Virtual Lab

MEGNet 是一个已弃用的 TensorFlow 图网络实现,包含预训练的分子和晶体性质模型、训练工具,以及可迁移的元素嵌入。

条目更新 ·

概览

MEGNet 实现了用于学习分子和晶体性质的 MatErials Graph Networks。该仓库由 Materials Virtual Lab 开发,集成了预训练预测模型,以及用于训练和定制图网络的工具。该项目现已弃用:README 声明它将不再更新,并将其保留为原始 TensorFlow 实现的参考,同时指出 matgl 是其后继项目。

该工作流使用原子特征、键特征、连通关系和全局状态属性来表示结构。堆叠的 MEGNet 模块在这些组成部分之间交换信息,set2set 读出层则将表征映射为标量或向量性质。预测示例接受 pymatgen Structure 或 Molecule 对象;分子示例还介绍了从 SMILES 转换以及加载 XYZ 文件的方法。预训练模型以 HDF5+JSON 文件形式提供,涵盖 QM9 分子目标和 Materials Project 晶体目标,包括轨道能量、形成能、带隙和对数弹性模量。

对于模型开发,MEGNetModel 支持使用结构及其对应的目标值进行训练,也支持使用经过验证的图进行训练。较低层级的 MEGNetLayer 和 Set2Set 组件可用于定制架构。该仓库还提供多保真度示例,以及从形成能模型中提取的元素嵌入,供迁移学习工作流使用。

若将其用作研究基线,需考虑若干重要限制。README 不建议将 QM9 模型用于该数据集之外的分子,因为训练数据覆盖范围有限。如果所选邻居截断半径导致原子孤立,晶体图转换可能会失败。文档指出,大型数据集训练的计算开销较高,并建议使用专用 GPU。评估时应将这些限制以及仓库已弃用的状态纳入考量。

主要功能

  • 通过 MEGNetModel.from_file 加载序列化的 HDF5+JSON 预训练模型,模型涵盖 QM9 分子性质和 Materials Project 晶体性质。
  • 接受 pymatgen 晶体和分子对象进行预测,并提供有文档说明的分子工作流,支持 SMILES 转换和 XYZ 文件加载。
  • 使用结构和目标值训练 MEGNetModel 实例,或在筛除无效结构图后使用 train_from_graphs。
  • 通过堆叠的图网络模块更新原子、键和全局状态属性,并使用 set2set 读出层进行标量或向量预测。
  • 提供 MEGNetLayer 和 Set2Set 组件,用于构建定制的 TensorFlow/Keras 图网络架构。
  • 提供预训练元素嵌入、迁移学习笔记本,以及多保真度图网络训练示例。

使用场景

  • 预期评估:在具有代表性的晶体结构上,将预训练的形成能、带隙或弹性模量模型作为历史基线进行评估,并检查图的有效性和目标单位。
  • 预期评估:探索 QM9 分子性质模型在域内分子上的预测能力,而不是假定其适用于无关的分子化学体系。
  • 预期评估:使用带标签的晶体结构训练性质模型,并比较使用迁移元素嵌入的模型与未使用这类嵌入的模型。
  • 预期评估:结合所提供的示例,研究全局状态特征和多保真度训练如何适用于材料性质建模工作流。

使用方式

  1. 阅读官方 README,尤其留意弃用声明。决定是否需要原始 TensorFlow 参考实现,或是否应改为考察链接所指的 matgl 后继项目。
  2. 在独立的评估环境中遵循 README 的安装指南。应将安装和运行时兼容性视为需要检查的事项,而不是已确定适用于你系统的事实。
  3. 从 mvl_models 中选择一个预训练目标,并检查其模型详情。参照 README 中晶体或 QM9 笔记本的指引准备 pymatgen 输入,并通过文档所述的 API 加载模型。
  4. 解读预测结果前,检查输入覆盖范围、邻居截断半径和输出单位。特别是,体积模量示例会将 log10 预测值转换为 GPa;QM9 模型附有明确的覆盖范围警告。
  5. 如需自定义训练,将结构与目标值配对,验证图转换,并使用文档所述的训练工作流。应单独评估留出数据上的预测;如有需要,可参阅迁移学习和多保真度示例。

相关资源

ChemML

开源工具

ChemML 是一套用于化学与材料数据分析、挖掘和建模的 Python 工具,采用模块化设计,并有关于图神经网络、AutoML 和可解释性的工作记录。

开源Python

分子性质预测 · 材料发现

DScribe

开源工具

DScribe 是一个 Python 库,可将原子结构转换为数值描述符,用于机器学习、可视化和相似性分析,并支持批处理和原子位置导数。

开源PythonC++

分子性质预测 · 材料发现

ALIGNN

模型

ALIGNN 提供用于材料性质预测的原子图神经网络,并包含训练工作流、预训练预测器和用于结构优化的 ALIGNN-FF 力场。

开源Python

材料发现

Allegro

模型

Allegro 在 NequIP 框架中作为扩展实现 E(3)-等变原子间势,并提供文档说明的 GPU 加速选项,以及用于 LAMMPS 模拟的独立插件。

开源Python

计算化学 · 材料发现

computational-chemistry-agent-skills 集合中的 ASE 路由 Skill,将工作流准备与计算器配置分开,并将执行委托给其他环节。

计算化学 · 材料发现

CGCNN

模型

CGCNN 实现了晶体图卷积神经网络,可根据晶体结构学习材料性质,并支持使用自定义数据训练模型以及使用预训练模型进行预测。

开源Python

材料发现

相关指南

模型

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

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