每个想在gpu上进行机器学习训练的都需要安装pytorch-cuda,而我的安装经历可以用一句歌词形容,那就是“刚擒住了几个妖,又降住了几个魔,……”
显卡
首先需要确保自己的计算机有显卡,可以使用
nvidia-smi
指令查看显卡驱动版本,如下图所示:
但是需要注意这里显示的CUDA Version是可以安装的CUDA的最高版本,也就是说实际安装的CUDA版本可以比这个版本低,但是不可以比这个版本高!
CUDA
实际安装的CUDA版本不光要看显卡支持的CUDA版本,更重要的是考虑tensorflow/pytorch能够支持的CUDA最高版本(看官网信息)。
nvcc -V可以检查是否安装成功。
后来看一个博主的介绍:如果只是需要训练、简单推理,则无需单独安装CUDA,直接安装pytorch;如果有部署需求,例如导出TensorRT模型,则需要进行CUDA安装。(这也解释了我之前发现的CUDA版本和虚拟环境中的cuda版本不符,但模型仍可以正常训练的情况)
【手把手带你实战HuggingFace Transformers-入门篇】基础知识与环境安装 - YouTube
cudnn
cudnn的安装需要查看其与tensorflow/pytorch以及CUDA对应版本,注意看表格。
TensorFlow、PyTorch各版本对应的CUDA、cuDNN关系_pytorch和tensorflow的cuda-CSDN博客
anaconda
这个就是一个虚拟环境,方便构建多个虚拟环境,实际在虚拟环境中安装的pytorch-cuda的版本可以比本机CUDA版本高,依旧可以正常使用gpu。虚拟环境中安装pytorch的流程在windows和linux系统上一致。
pytorch
很多代码库会提示安装pytorch的指令是下面这样的简单版本,但是本人尝试从来没有成功过。
conda install pytorch
我们实际输入的安装指令需要使用pytorch官网提供的指令,见
Previous PyTorch Versions | PyTorch
然后会进行漫长的solving environment环节,如果一切顺利的话会显示将会安装的包
注意看pytorch、torchaudio、torchvision跟了一个cu102的小尾巴,表示将要下载cuda10.2对应的版本。如果没有这个小尾巴代表将会安装cpu版本,想要安装gpu版本的就可以在这时输入n,停止安装过程了,然后从头检查各项版本是否匹配。
成功安装效果测试
作为一个愚蠢的人类,torch.cuda终于is availabe了,也不枉我发烧一场了。
补参考链接:Windows端CUDA11.3+CUDNN+pytorch环境搭建_cuda11.3对应的cudnn-CSDN博客【Linux】多个版本的CUDA切换 - 知乎 (zhihu.com)