PyTorch+DGL+PyG安装

1,629 阅读2分钟

一、前言

之前windows笔记本上下载过torch 1.11.0 + cuda 11.3,以及相应的DGL和PyG,但是最近在做NLP课程作业时发现当前的pytorch版本的LSTM和RNN模块存在不可复现的bug,于是考虑创建一个新的conda环境更新这些库的版本。然而技术更新迭代太快了,安装方法又与以前有所不同,所以在这里记录下。

二、注意点

  • CUDA的版本是不能高于NVIDIA驱动指定的版本的,通过nvidia-smi得到当前驱动版本(Driver Version)与当前驱动下可以使用的最高的(CUDA Version)。

image.png

  • 目前pytorch使用pip安装不需要手动下载cuda和cudnn。通过命令nvcc -V查看到的是系统的cuda版本,所以即使显示的这个版本低于下载的pytorch所需的cuda版本也是可以完全没有影响的。比如我nvcc -V显示的是cuda11.3,但是由于我更新了NVIDIA驱动,最高可支持cuda12.2,所以我完全可以下载pytorch2.1-cuda12.0

  • DGL和PyG安装时所用的CUDA版本指的是当前环境pytorch安装的CUDA版本,同样与系统的CUDA版本没有关系,并且要与安装的pytorch CUDA版本对应。至少经过测试DGL-cuda11.8在pytorch-cuda12.0的环境下是不能正常运行的。

二、NVIDIA驱动更新

从这个网站NVIDIA驱动更新更新的驱动。下载类型选择SD。

image.png

三、pytorch安装

之前说到现在pytorch不需要手动下载cuda和cudnn了(至少我使用pip安装不需要),所以更新完驱动先输入nvidia-smi查看支持的最高cuda版本,然后在PyTorch官网选择cuda低于这个版本的安装就可以了。

注意:安装时可能会提示 read timed out 的错误,这应该是网络问题,只需要pip后面加上 --default-timeout=1000参数就可以了。比如 pip3 install torch torchvision torchaudio --index-url download.pytorch.org/whl/cu118 --default-timeout=1000

安装完成后gpu版本的pytorch就可以使用了。

四、DGL安装

DGL官网选择合适的版本安装即可。注意这里的cuda要与pytorch的cuda对应。

image.png

五、PyG安装

PyG官方文档中说,PyG 2.3版本以后可以不用下载额外的依赖库了,可以直接pip install torch_geometric安装。需要用到其他依赖库的时候可以再手动下载。但是我还是按照以前的方法先下载了外部依赖库。

data.pyg.org/whl/ 这个网站依次下载 torch_scatter 、torch_sparse 、torch_cluster 、torch_spline_conv ,同样这四个库cuda的选择要与pytorch的cuda对应。

下载后将四个包放置在同一个文件夹。

cd D:\XXX\XX\  # 安装包所存的位置
pip install torch_scatter-x.x.x-cpxx-cpxx-xxxxxx.whl
pip install torch_sparse-x.x.x-cpxx-cpxx-xxxxxx.whl
pip install torch_cluster-x.x.x-cpxx-cpxx-xxxxxx.whl
pip install torch_spline_conv-x.x.x-cpxx-cpxx-xxxxxx.whl

最后pip安装torch-geometric。

pip install torch-geometric

结束。


参考:

解决pip安装pytorch缓慢问题(直接使用命令)

PyTorch Geometric(PyG) 库的安装