Cogdl这个库,我虽然已经关注很久(例如参考LeaderBoards),但是没有自己用过。我们可以直接使用其中的很多graph neural network model,或者把这些model当成验证自己的想法的起点。
按照这里:https://github.com/THUDM/cogdl
直接运行:
pip install cogdl
可是当我安装了之后,并且按照这里给出的命令行参数运行的时候:
python scripts/train.py --task graph_classification --dataset proteins --model gin diffpool sortpool dgcnn --seed 0 1
却报了错:No module named 'torch_geometric'
话说,torch_geometric也是graph neural network必备的库,但是我这个conda环境中确实没安装,所以没办法,参考一下其主页:https://github.com/rusty1s/pytorch_geometric
其主页上主要说明了PyTorch 1.8.0和1.7.0/1.7.1的安装方法。我都忘记了我的pytorch版本了,运行:
python
import torch
print(torch.__version__)
结果竟然是1.6.0。呵呵呵,也不敢随意升级pytorch版本,只能再新建一个conda的虚拟环境:
conda create -n cogdl python=3.7
然后:
pip3 install torch torchvision torchaudio
话说Python的版本碎片化真是太讨厌了。安装好之后按照上面torch_geometric的说明,依次运行(因为上面这条命令,默认安装的是PyTorch 1.8.1):
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.8.0+cu102.html
pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.8.0+cu102.html
pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-1.8.0+cu102.html
pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.8.0+cu102.html
pip install torch-geometric
然后就可以正常运行cogdl了。话说,我觉得python的库和版本管理真的太混乱了,无语,有没有科学问题可以帮助改进现状呢?