pytorch_geometric是一个图深度学习库。除了pytorch,安装这个库还需要安装torch_cluster, torch_scatter, torch_sparse, torch_spline_conv这四个库,安装过程需要注意gcc/g++, cuda/cudnn, python, pytorch, torch_cluster/torch_scatter/torch_sparse/torch_spline_conv之间的版本对应,比较复杂繁琐,故在此记录。
gcc 8.5.0, g++ 8.5.0
cuda 10.2, cudnn 8.3.2
torch 1.10.1+cu102
torch_cluster 1.5.9
torch_scatter 2.0.9
torch_sparse 0.6.12
torch_spline_conv 1.2.1
torch_geometric 2.0.3
创建名为pyg的虚拟环境
conda create -n pyg
在pyg环境中安装pip,方便使用pip安装包的时候隔离环境
source activate pyg
conda install pip
为了和cuda 10.2对应,需要在pyg环境中安装gcc/g++ 8. 此处选择8.5.0版本。
conda install gcc_impl_linux-64==8.5.0 gcc_impl_linux-64==8.5.0
conda install gxx_impl_linux-64==8.5.0 gxx_impl_linux-64==8.5.0
为了使pyg环境下在命令行中gcc
和g++
命令能够直接使用gcc/g++ 8.5.0,需要设置软链接
cd ~/anaconda3/envs/pyg/bin
ln -s x86_64-conda-linux-gnu-cc gcc
ln -s x86_64-conda-linux-gnu-g++ g++
退出pyg环境并重新进入:source deactivate && source activate pyg
,使用gcc --version
和g++ --version
可以看到gcc/g++版本为8.5.0
参考这篇博文conda虚拟环境中配置不同的环境变量,将~/anaconda3/envs/pyg/lib
加入虚拟环境进入和退出脚本的环境变量LD_LIBRARY_PATH
为了和torch 1.10.1对应,选择安装cuda 10.2。在用户目录下安装旧版本的cuda和cudnn可以参考这篇博文Ubuntu 20.04安装CUDA 11.4, cuDNN 8.24
为了保险起见,在这个网址参考自己的系统和python版本,下载对应的whl文件。本文下载的是cu102/torch-1.10.1%2Bcu102-cp36-cp36m-linux_x86_64.whl这个whl文件。
下载到本地后,pip install torch-1.10.1+cu102-cp36-cp36m-linux_x86_64.whl
完成安装。
根据github上的指引,在这个网址找到与pytorch 1.10.1+cu102对应的torch_cluster/torch_scatter/torch_sparse/torch_spline_conv版本,可以下载上面的whl文件本地安装,也可以直接pip安装对应版本号,这里采用pip直接安装:
pip install torch_cluster==1.5.9 torch_scatter==2.0.9 torch_sparse==0.6.12 torch_spline_conv==1.2.1
最后一步是最简单的,直接pip安装即可,pip会寻找合适的版本,这一步一般也不会出错:pip install torch_geometric