解决torch识别不到cuda的问题——AssertionError: Torch not compiled with CUDA enabled

问题表现

测试torch-gpu是否可用

运行如下代码:

import torch
print(f"Current device: {device}")
print(torch.__version__)                # 查看pytorch安装的版本号
print(torch.cuda.is_available())        # 查看cuda是否可用。True为可用,即是gpu版本pytorch
print(torch.cuda.device_count())        # 返回可以用的cuda(GPU)数量,0代表一个
print(torch.version.cuda)               # 查看cuda的版本
print(torch.cuda.get_device_name(0))    # 返回GPU型号

得到结果如下图:
在这里插入图片描述

发现torch没有找到可用的GPU。

问题检查

检查是否安装Cuda

命令行运行nvcc -V ,安装cuda版本为12.1
在这里插入图片描述

这一步如果没结果那么就是cuda没装好

检查安装的torch版本

命令行运行conda list 或者 pip list,发现安装的是cpu版本
在这里插入图片描述

这一步如果没结果那么就是还没有安装pytorch

问题分析

有的朋友就开始奇怪了,明明我确实是按照官网命令下载的pytorch啊,怎么会下载的是cpu版本?
在这里插入图片描述

原因一:使用了conda命令安装

conda命令会检查所有的库依赖,找到能兼容所有库的安装包版本。而很可能你的环境不支持Cuda的版本(比如没装cuda、python版本不兼容)。这时conda不会发出错误,而是使用cpu安装,导致你误以为安装了cuda版本的pytorch。
在这里插入图片描述

原因二:python版本不匹配

我在自己的环境下调用官网的pip命令进行安装:
在这里插入图片描述
直接发生错误,告诉你没有合适的版本:
在这里插入图片描述
所以这个问题的根本原因还是python版本不匹配,conda自动安装了cpu版本的torch

解决方案

提升python版本到3.9并且使用pip命令安装

conda install python=3.9
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

再次检查版本,这次确实是cuda版本了:
在这里插入图片描述
调用测试程序,发现可以正确使用GPU了:
在这里插入图片描述

注意,pytorch官网实际已经提示了,pytorch要求python3.9及以上的版本。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值