概览
MODNet(Material Optimal Descriptor Network,材料最优描述符网络)是一个 Python 框架,用于学习材料描述与材料性质之间的关系。仓库介绍称,该框架适用于数据集较小的场景,并支持多种性质的联合学习。在材料工作流程中,它属于预测建模阶段:以材料组成为材料描述,或以晶体结构为材料描述,由训练得到的模型输出性质预测,而非实验测量结果。
该项目将可安装的软件包与有文档说明的预训练模型结合起来。README 列出了两种预训练选项,可从晶体结构预测折射率和振动热力学性质。对于开发自有模型的用户,所引用的方法介绍了特征选择和联合学习。该软件包声明的依赖项包括 TensorFlow、pymatgen、matminer 和 scikit-learn,属于 Python 材料信息学生态系统。ReadTheDocs 是官方文档入口,GitHub 发布摘要则提供变更信息。
为保证可复现性,需要注意软件环境:README 警告,依赖项变更可能改变特定特征值,并建议在不同机器或 MODNet 版本之间固定环境。提供的来源对最低 Python 版本也有不同说法:README 标明 3.8+,而 setup.py 要求 3.9+。来源摘录未说明详细的输入格式、预训练模型的适用范围或当前预测准确度。因此,在预测结果用于科学决策前,应查阅链接的文档,并在目标材料数据集上进行评估。
主要功能
- 使用材料组成或晶体结构作为材料描述,进行监督式材料性质学习。
- 在框架内联合学习多种材料性质。
- 所链接的 MODNet 论文介绍的方法包含特征选择。
- 提供两种有文档说明的预训练模型,可从晶体结构预测折射率和振动热力学性质。
- 通过 PyPI 分发 Python 软件包;文档也提供基于仓库的开发安装途径。
使用场景
- 拟议的评估方式:在规模较小的带标签材料数据集上训练性质预测模型,并在留出的材料上评估预测结果。
- 拟议的评估方式:使用相同的评估数据划分,将相关性质的联合学习与针对单一目标分别训练的模型进行比较。
- 拟议的评估方式:在与筛选研究相关的晶体结构上评估有文档说明的折射率或振动热力学性质预训练模型。
使用方式
- 先查看仓库 README,决定是训练模型,还是使用两种有文档说明的预训练模型之一。根据可用的材料组成或晶体结构数据选择相应方案。
- 查阅官方文档,了解输入准备和模型工作流程的详细信息。来源摘录没有说明所需的数据格式或预测 API。
- 创建隔离的 Python 环境,并按照 README 中的 PyPI 安装途径操作;如用于开发,也可采用其中介绍的仓库安装途径。选择环境前,应先解决 README 与 setup.py 对 Python 版本要求不一致的问题。
- 记录并固定环境及其依赖项。README 特别提醒,依赖项变更可能影响特征值;更改 MODNet 版本时,请查阅发布摘要。
- 作为拟议的评估步骤,预留独立材料用于评估,将预测结果与已知目标值比较,并检查误差,再将输出用于筛选或科学解释。