用途:以模块化 PyTorch 图学习栈搭建与排错 TorchDrug 0.2.1 工作流,流程为 datasets.* 数据集 → models.* 表示模型 → tasks.* 任务目标 → core.Engine 训练评估。
主要能力:分子性质预测(ClinTox、BBBP、Tox21、QM9 等;GIN + PropertyPrediction);自监督预训练(InfoGraph、AttributeMasking);分子生成(ZINC250k、GCPN、GraphAF);逆合成(USPTO50k 的 CenterIdentification 与 SynthonCompletion 再组合为 Retrosynthesis);知识图谱推理(FB15k237 + RotatE、NeuralLP);蛋白质建模(Protein.from_sequence/from_pdb、ESM、GearNet 等)。
版本与环境:官方文档与最新发布均为 0.2.1(2023 年 7 月),支持 Python 3.7–3.10、PyTorch 1.8–2.0;Apple Silicon 需 PyTorch 1.13+ 且仅 CPU、无 MPS。使用前检查版本: python --version python -c "import torch; print(torch.version)" python -c "import torchdrug; print(torchdrug.version)" 高于上述范围视为未验证,需自建环境或自行测试源码构建。
安装:建议 Python 3.10 独立环境并固定版本,例如: uv venv --python 3.10 source .venv/bin/activate uv pip install "torch==2.0.0" "numpy==1.26.4" "setuptools<81" wheel 再按官方说明安装与 PyTorch、CUDA 精确匹配的 torch-scatter、torch-cluster 轮子,例如 CPU 环境: uv pip install --only-binary :all: "torch-scatter==2.1.2" "torch-cluster==1.6.3" --find-links "https://data.pyg.org/whl/torch-2.0.0+cpu.html" uv pip install "torchdrug==0.2.1" "numpy==1.26.4" "scipy==1.13.1" "rdkit-pypi==2022.9.5" "fair-esm==2.0.0" "decorator==5.1.1" 注意不要跨环境复制 CUDA 轮子 URL,不要同时安装 rdkit 与 rdkit-pypi,fair-esm 导入名为 esm。
使用要点与限制:遵循 0.2.1 API;优先用 atom_feature、bond_feature、residue_feature、mol_feature(node_feature 等为旧别名);Engine 会自动预处理任务,组合预训练任务时需手动调用 preprocess();逆合成两个视图需同步随机种子与划分;须用 data.graph_collate 或 Engine 打包图;模型维度从实际数据集读取(如 dataset.node_feature_dim)。生成的化学结构仅为候选,不代表实验有效或可合成。常见问题多为轮子不匹配、特性维度不一致、设备与检查点不匹配,使用 gpus=[0] 需具备受支持 CUDA 设备。