一直用我的DELL g15跑训练,当然只有一些较小的模型能跑,否则就是 out of memory警告,至少pix2pix模型能正常训练和推理。直到今天遇到了一个tensorflow相关模型,才发现我好像没有装CUDA。。。很是神奇,难道我一直用CPU训练的。。。
首先我的设备规格:
我的系统规格:
电脑自带1个英伟达4g独显nvidia geforce rtx 3050 laptop GPU:
在anaconda的prompt窗口使用nvidia-smi命令可查看显卡信息:
右上角显示了一个CUDA版本,但是这不是说已经安装了CUDA,而是说安装的CUDA版本不得高于12.0版本。
测试当前是否已经安装CUDA:
nvcc命令不可用,说明CUDA没有被正确安装。
但是在python环境中使用以下命令会得到cuda可用的结论:结果是1.11.0和True
import torch
print(torch.__version__)
print(torch.cuda.is_available())
但是参见这篇博文torch.cuda.is_available()为true时而cuda仍然无法使用_torch.cuda.is_available()为ture,cuda还是不饿能用-CSDN博客
上述python命令的结果并不可靠,存在还没有安装CUDA的时候输出为TRUE的情况,所以还是需要安装CUDA。现在需要进入英伟达官网下载安装CUDA,下载链接:CUDA Toolkit Archive | NVIDIA Developer
一长串的选择,首先如前所述,需要选择12.0以下版本,其次,cuda版本和pytorch版本有制约关系,下面是一些常见的 PyTorch 版本与 CUDA 版本的对应列表:
这只是一个常见的对应列表,具体的支持版本可能会有所变化。此外,新版本的 PyTorch 可能会支持较旧版本的 CUDA,但不支持较新版本的 CUDA。
而我当前环境中的pytorch版本为1.11.0所以我只能选择11.3以下的版本,我就选择最新版本CUDA11.3进行安装。
剩下的步骤参照:【Windows11】Cuda和Cudnn详细安装教程-CSDN博客
11.3好像比11.5少一个组件:
完成安装,重启prompt命令窗口:
可以看到nvcc命令可用,CUDA安装成功。
官方CUDA安装成功之后,还需要在python环境中安装相应的 cudatoolkit cudnn 等cuda相关的python包才能正常使用CUDA。同样需要注意版本匹配。