3090显卡 torch.cuda.is_available()返回false的解决办法

问题

1.执行Nvidia-smi 命令没有报错,能够显示驱动信息;
2.执行 torch.backends.cudnn.enabled is TRUE
3.torch.cuda.is_available()一直返回False

解决

把torch,torchvision等相关安装包全部删除,安装适合版本的torch。

30系列显卡是新一代架构,新驱动不支持cuda9以及cuda10,所以必须安装cuda11、而pytorch现在稳定版为1.6,最高仅支持到cud10.2。所以唯一的办法就是使用上处于beta测试的1.7或1.8。这也是为啥一开始就强调本文的写作时间,因为未来一定会有稳定版发布,请使用稳定版。torch_geometric 计算包官方发布的现成轮子仅支持到pytorch-1.6和cuda10.2。
所以核心问题就是cuda11 pytorch 以及torch_geometric之间的匹配。

### PyTorch `torch.cuda.is_available()` 返回 False 的原因分析 当遇到 `torch.cuda.is_available()` 返回 `False` 时,通常意味着当前环境未能成功识别到可用的 GPU 设备。这可能是由于多种因素造成的。 #### 安装了错误版本的 PyTorch 一种常见的情况是误安装了仅支持 CPU 版本的 PyTorch 而不是 CUDA 加速版[^2]。为了确认这一点,可以查看当初安装命令是否指定了特定硬件加速选项;对于希望启用 GPU 支持的应用场景而言,则应确保选择了带有 CUDA 后缀的包名来完成安装过程。 #### 验证 CUDA 和 cuDNN 是否正确配置 即使已经安装了合适的 PyTorch 版本,如果系统上的 NVIDIA 显卡驱动程序、CUDA 工具链或者 cuDNN 库存在兼容性问题或未被正确设置的话,也会导致此函数返回负值。建议按照官方文档指导检查并更新这些组件至相互匹配且稳定的版本组合[^1]。 #### 测试代码样例 可以通过下面这段简单的 Python 代码片段快速验证当前环境中是否存在可访问的 GPU: ```python import torch if not torch.cuda.is_available(): print("CUDA is not available.") else: device_count = torch.cuda.device_count() current_device_name = torch.cuda.get_device_name(0) print(f"CUDA is available with {device_count} devices, using '{current_device_name}' as the primary one.") ``` 上述脚本能帮助进一步诊断具体状况,并提供有关所连接图形处理单元的信息反馈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值