解决思路:
一、检查GPU型号
二、检查GPU是否支持CUDA
三、检查驱动版本(Driver Version)是否和CUDA Toolkit版本(CUDA Version)匹配
一、检查GPU型号
如何看到自己GPU型号?
-
任务管理器→性能(可以看到GPU的型号)
-
在开始菜单搜索设备管理器→“显示适配器”中可以看到GPU的型号(一般是看自己独显,也就是英伟达显卡型号)
二、检查GPU是否支持CUDA
知道自己的GPU型号后可以登录网站GeForce 网站 - RTX 显卡、NVIDIA REFLEX、游戏笔记本电脑 | NVIDIA查看自己的显卡是否支持CUDA。
比如我的独显是3070 Ti,就可以在官网上看到显卡的相关信息(而且现在大部分英伟达显卡都是支持CUDA的):
三、检查驱动版本(Driver Version)是否和CUDA Toolkit版本(Driver Version)匹配
如果你的显卡支持CUDA还返回false,就利用命令
nvidia-smi
检查自己的显卡驱动(Driver Version):
看到上图中本地的显卡驱动版本后,去官网对照一下你的CUDA版本(CUDA Version)和驱动版本是否匹配。官网对照表的连接:
Table 3 CUDA Toolkit and Corresponding Driver Versions
上图是链接里表格的截图,像是CUDA版本为11.6就要求驱动版本必需大于等于511.65,如果小于511.65,就只能更新驱动。我的Driver Version = 512.78,是满足CUDA Version = 11.6的要求的。
如果Driver Version和CUDA Version不匹配,可以选择:
1、更新驱动版本(Driver Version);或者
2、更换CUDA版本(CUDA Version)
1、更新驱动版本(Driver Version)
如果驱动不满足CUDA版本要求可以去英伟达官网进行驱动更新或者更换较低版本的CUDA Toolkit。去英伟达官网进行驱动更新:
点击“驱动程序”:
这里注意(Notebook)指的是你笔记本上的显卡,所以这里我选GeForce RTX 30 Series(Notebooks)
后面就一一对应选择好就可以了。“下载类型”和“语言”就用他的默认设置即可。点击“搜索”:
点击“下载”安装即可。
安装完后,再次在命令行中输入:
nvidia-smi
查看Driver Version是否变化。如果发生了更新,此时的Driver Version应该已经变成上图的527.56,那么继续使用命令:
python
import torch
torch.cuda.is_available()
查看结果是否是True。
2、更换CUDA版本(CUDA Version)
详情请看该链接:
(还没写)其实就是多版本CUDA管理,改个环境变量就行。