3d分子学习(论文代码复现(3DInfomax) (一)
例如 第一章 环境搭建
前言
对3d在分子的应用比较感兴趣,就开始复现一篇论文(3DInfomax),那么就涉及环境搭建,代码成功运行,代码理解,代码修改,心得总结。在这里写下本人的一些碎碎念念。
一、论文和代码链接
链接: 3dInfomax
二、环境搭建
1.配置文件
代码提供了配置文件environment.yml,内容如下:
name: 3DInfomax
channels:
- defaults
dependencies:
- python=3.7
- pytorch
- torchvision
- torchaudio
- cudatoolkit=10.2
- rdkit
- pytorch-geometric
- dgl-cuda10.2
- pot
- numpy
- certifi
- ogb
经过本人的实验,作者给出的依赖项版本太老和兼容问题无法实现,因此采用本人根据依赖要求下载依赖项:
name: 3DInfomax
dependencies:
- python=3.9
- pytorch #建议使用pytorch官网提供的下载命令:e.g. conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
- rdkit
- pytorch-geometric==2.1.0
- dgl-cuda10.2 #建议使用dgl官网提供的下载命令: e.g. conda install -c dglteam/label/cu113 dgl
- pot
- numpy
- certifi
- ogb==1.3.5
2.程序运行
如果安装没有问题的话,程序就可以顺利运行(开始是微调阶段(qm9),当然缺少的一些module,pip install就行,懂的都懂。
总结
虚拟环境的搭建是一切的基础,在本次环境搭建的过程中,也出现了一些问题:
1.python版本提供3.7根本没有相应的torch_geometric,因此采用较为稳定的3.9版本
2.cuda10.2更换为11.3(根据自己的GPU情况实际调整)
3.此外作者提供的依项严重不足,需要自己补充,对于缺失的module,pip install安装即可
4.需要特别注意的是ogb(Open Graph Benchmark)的版本应该为1.3.5,否则会出现更新后的版本相应函数发生改变,变量值发生变化,不能在代码环境中运行问题。较新版本估计都不行,本人试过1.3.6,较老版本能不能运行本人不太确定,因此最终为ogb==1.3.5
5.另外,pandas版本建议1.3.5,否则在导入预训练模型权重时会出现问题。