Windows 下,torch.cuda.is_available()和tf.test.is_gpu_available()返回false

博主分享了在为新电脑配置深度学习环境时,遇到CUDA版本与TensorFlow、PyTorch不兼容的问题。通过理解驱动API与运行时API的区别,发现驱动API11.0与运行时API10.2的不匹配导致调用GPU失败。最终,通过降级CUDA版本到11.0并配合合适的CUDNN,解决了问题,确保了GPU的正常使用。
摘要由CSDN通过智能技术生成

最近在给新的电脑配置深度学习环境,找了个不是特别新CUDA(担心未适配)版本来安排,安装CUDA和CUDNN都正常,测试nvcc -V 和执行C:\Users\ps\Downloads\cudnn-11.2-windows-x64-v8.1.0.77\cuda文件下的两个exe,bandwidthTest.exe和deviceQuery.exe时,都是test pass。
但是,安装torch 1.7 和tensorflow2后,测试是否能调用GPU失败了,经过将近一天的各种尝试,解决了这个问题。
问题表现之一:
Windows 下,torch.cuda.is_available()和tf.test.is_gpu_available()返回false

问题表现之二:nvidia-smi查看cuda版本是11.0,nvcc -V显示版本是10.2,本情况解释:

CUDA 有两种API,分别是 运行时API和 驱动API,即Runtime API 和 Driver API。
nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API的型号。
而nvcc的结果是对应 CUDA Runtime API。
我的驱动API是11.0,运行时API是10.2

看到网上提供的解决方案,说的最多的是驱动API要高于等于运行时API,然后我寻思我的情况也符合。
后来会不会是10.2还是没适配,就尝试了降级CUDA版本,分别尝试了10.0,10.1等,均失败。
对,然后就寻思大胆尝试一下11.0版本好了,然后就好了。
结论1:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值