一、前言
之前windows笔记本上下载过torch 1.11.0 + cuda 11.3,以及相应的DGL和PyG,但是最近在做NLP课程作业时发现当前的pytorch版本的LSTM和RNN模块存在不可复现的bug,于是考虑创建一个新的conda环境更新这些库的版本。然而技术更新迭代太快了,安装方法又与以前有所不同,所以在这里记录下。
二、注意点
- CUDA的版本是不能高于NVIDIA驱动指定的版本的,通过nvidia-smi得到当前驱动版本(Driver Version)与当前驱动下可以使用的最高的(CUDA Version)。
-
目前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。
三、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对应。
五、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
结束。
参考: