跳转到正文

MolCLR

Yuyang Wang / Carnegie Mellon University

MolCLR 是一个分子对比学习框架,可在未标注分子上对图神经网络进行预训练,并支持针对下游分子性质预测进行微调。

条目更新 ·

概览

MolCLR 是与论文 “Molecular Contrastive Learning of Representations via Graph Neural Networks” 配套的官方实现。它提供了一套研究工作流程,先从未标注数据中学习分子表示,再将图神经网络用于分子性质预测任务。README 描述了在约 1000 万个独特分子上进行预训练,因此该资源处于分子数据集准备与有监督下游建模之间,而不是一个开箱即用的预测服务。

文档所述工作流程分为预训练和微调两个阶段。预训练使用所提供的分子数据集 pubchem-10m-clean.txt,相关设置见 config.yaml。微调使用存储在以各基准名称命名的文件夹中的基准数据集,并通过独立的配置文件 config_finetune.yaml 设置。仓库还提供预训练的 GCN 和 GIN 模型,用户可以据此探索下游适配,无需先重复完整的预训练阶段。文档列出的输出包括训练好的模型检查点,以及通过 TensorBoard 监控的训练信息。

README 链接到论文中使用的数据集,并将 MoleculeNet 列为另一个基准数据来源。它还提供了一个指定版本的 Python 环境配置方案,其中包含 PyTorch、PyTorch Geometric 和 RDKit。这些说明记录的是原始环境设置,并非对其与当前系统兼容性的验证。来源摘录未说明预测输出格式、部署接口或定量基准结果;因此,该资源是否适用于新的性质数据集仍需评估。

主要功能

  • 在一个被描述为包含约 1000 万个独特分子的大型未标注分子数据集上,对图神经网络进行对比预训练。
  • 通过 `config.yaml` 和 `config_finetune.yaml` 分别配置预训练与下游微调工作流程。
  • 仓库提供预训练的 GCN 和 GIN 模型,用于下游适配。
  • 可下载的预训练数据和论文基准数据集,并提供文档说明的 `./data` 目录布局。
  • 通过检查点路径下的 TensorBoard 监控训练日志。

使用场景

  • 预期评估:在分子性质基准数据集上微调所提供的预训练模型,并评估其对所选预测任务的适用性。
  • 预期评估:使用相同的数据集和评估方案,将基于 MolCLR 检查点适配的模型与独立设定的基线模型进行比较。
  • 预期评估:通过更改文档所述的预训练配置设置并考察后续微调结果,研究分子表示学习。

使用方式

  1. 阅读官方 README,并查阅论文,以区分表示学习阶段与下游性质建模。
  2. 获取仓库,并按照文档所述的环境配置方案操作。README 指定了 Python 3.7 和固定版本的依赖项;应将其视为来源文档中的说明,而非当前兼容性的证据。
  3. 下载所提供的数据集,并将其解压到 ./data 下。预训练时使用 pubchem-10m-clean.txt,微调时使用相应的基准文件夹。
  4. 使用文档所述的 molclr.py 入口前,先检查 config.yaml。如果要重复预训练,请按照 README 中的 TensorBoard 指引检查训练日志。
  5. 对于下游评估,请检查 config_finetune.yaml,选择一个所提供的预训练模型,并使用文档所述的 finetune.py 工作流程。请另行制定评估方案;该摘录并未证明模型在你的数据集上的性能。

相关资源

ChemBERTa

模型

ChemBERTa 提供用于化学 SMILES 的类 BERT 模型,包括采用 RoBERTa 掩码语言建模的检查点,以及用于预训练、微调和分子性质预测研究的笔记本。

开源Python

分子性质预测

ChemML

开源工具

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

开源Python

分子性质预测 · 材料发现

Chemprop

模型

Chemprop 是一个基于 PyTorch 的工具包,用于训练和评估进行分子性质预测的消息传递神经网络,并提供命令行工作流、Python 模块和针对特定任务的笔记本。

开源Python

分子性质预测

DeepMol

开源工具

DeepMol 是一个用于分子机器学习的 Python 工具包,可将化合物标准化和特征化与模型训练、评估、解释及可复用工作流连接起来。

开源Python

分子性质预测

DGL-LifeSci

开源工具

DGL-LifeSci 是基于 DGL 和 PyTorch 的化学与生物图神经网络工具包,提供分子建模组件与示例。

开源Python

分子性质预测

DimeNet

模型

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

Python

分子性质预测 · 量子化学

相关指南

模型

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

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