Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结
Torch not compiled with CUDA enabled 报错的归纳总结
- 一. ' AssertionError: Torch not compiled with CUDA enabled'
- 这时候首先应该做的就是确认pytorch、cuda、cuddn、torch和torchvision是否安装成功,以及版本是否正确!
- 1. 如何查看pytorch、cuda、cuddn、torch和torchvision的版本并且进行下载安装?
- 1)查看版本
- 2)确认对应版本,下载与安装
- 下载pytorch
- torch、torchvision、cuda的对应版本和下载
- 用官网的源下载torch和torchvision速度过慢的解决方法,可以参考博主:
- 2. 判断AttributeError的错误原因并解决问题
- 首先输入下列代码
- 1)输出为False
- 2)输出为True
- 问题:
- 二. PyTorch、CUDA Toolkit 及显卡驱动版本对应关系
- CUDA驱动及CUDA Toolkit最高对应版本如下:
- 此处提供三种方法可供选择。
- (1)指定CUDA Toolkit版本(推荐)
- (2)指定PyTorch版本
- (3)同时指定CUDA Toolkit版本和PyTorch
- 注:
- Linux下conda使用清华镜像源快速安装PyTorch
- 三. Torch和torchvision的安装
- 一. torch的安装步骤
- 1. 先查看python的版本,方法是Windows+R,输入cmd,打开命令提示符,输入python,即可查看python的版本
- 2. 根据python版本下载torch和torchvision,例如我电脑安装python的版本是3.9,我下载的torch和torchvision版本如下(大家一定选取适合自己python版本的torch和torchvision进行安装)
- 3. torch和torchvision下载好之后,就可以开始安装了[cpu/torchvision-0.10.0%2Bcpu-cp39-cp39-win_amd64.whl](https://download.pytorch.org/whl/cpu/torchvision-0.10.0+cpu-cp39-cp39-win_amd64.whl)
- 二. 问题
- 1. 您好请问你的webload是pytorch环境吗
- 2. torch版本是CPU版本,torchvision 版本是GPU版本?
- 3. 你好我装torchvision 出来这个是什么意思
- 4. 麻烦问一下amd显卡的电脑能安装torchvision么。torch已经按照其他链接下载了cpu版本安装成功了。
- 5. 作者你好,在安装torchvision时下载速度很慢,最终报错:ERROR: Exception:
- 四. 安装pytorch时,文件名称的识别
- 首先提一下pytorch安装。
- 五. Pytorch错误:Torch not compiled with CUDA enabled
- 一. 在用Pytorch炼丹的过程中,很意外地碰到了一个错误提示AssertionError: Torch not compiled with CUDA enabled,如下图所示。
- 二. 问题
- 1. 在在终端中输入cat /usr/local/cuda/version.txt
- 2. 请问如何把调用显卡资源的部分全部去掉呢?去掉哪部分?
- 3. Windows上的咋整?
- 4. 请问下面这行代码应该怎样修改呢?
- 5. `nvidia-smi`
- 6. 在终端中输入cat/usr/local/cuda 这里的终端是啥呢
- 7. 想问一下,我是用conda安装cudatoolkit的,怎么在conda虚拟环境里检测CUDA版本号?
- 8. 如果显示true呢
- 9. CUDA版本11.4但是并没有在pytorch网站看到CU114只有到111可以吗
- 六. Ubuntu下查看cuda版本的两种方法
- 一. cuda版本的两种方法
- 方法一:
- 方法二:
- 二. 问题
- 1. 博主,两种方法显示的结果不一样
- 2. 博主你好,我这两种方法显示不一样,一个是8.0.6,一个是10.1,你知道这是怎么回事吗
- 3. 请问下,我的显示不一样,一个显示10.0,一个显示10.1是为什么啊
- 4. 后一个是显卡驱动支持的最高cuda版本
- 七. ubuntu16.04查看CUDA和cuDNN版本
- 命令
- 问题
- 1. 第一条命令找不到cuda版本,第二条命令显示cuda9.0.为什么会这样
- 2. 请问前两条有用,第三条未找到命令怎么办呀
- 八. ubuntu 之 查看 cuda,cudnn版本
- 一. 查看 cuda,cudnn版本
- 1.查看cudnn版本:
- 2.查看cuda版本则有很多种办法:
- 二. 问题
- 1. 我服了这学校服务器查出来三种结果
- 2. 你好,意思是我们装cuda的时候按需装就好,不用按nvidia-smi显示的版本装就可以了吗?
- 3. 请问为什么装完驱动后(nvidia-smi里面有显示cuda)但是没有装cuda,也一样可以使用GPU训练(显示使用cuda训练)
- 九. 解决 AssertionError Torch not compiled with CUDA enabled
- 报错信息
- 报错信息分析
- 报错原因
- 解决过程
- 十. Torch not compiled with CUDA enabled报错的解决办法!!!
- 这个是和我遇到了同样问题的一个大佬,看了他这篇博客之后觉得他说的话就是我想说的....
- 1.首先我从网上面下载下来了torch和torchvision,是下面这个版本:
- 2.我一直报的这个错误是这样的:
- 3.正确的安装手法:
- 附:如何卸载pytorch:
- 问题:
- 1. torch没有上传因为太大了,torchvision已经上传了,torch和torchvision可以去官网下载。
- 2. 请问如果显卡不支持安装cuda该怎么办
- 3. 请问你解决了吗?我的显卡也不支持装cuda
- 4. 请问怎么更换解释器啊,谢谢博主!
- 5. 没有显卡的电脑出现这个报错怎么办啊
- 6. 我的情况一样,但是我就是按照离线安装的方法安装的。True仍然报这个错误,但是我在另一台电脑上同样的操作安装却能运行成功。就可离谱
- 7. 我遇到了,我是在虚拟环境上运行程序,结果不能用cuda,但我记得之前可以用,结果我发现虚拟环境上的torch版本和base上的不一样,base上就可以用所以是true,而虚拟环境版本不对,所以是false,把虚拟环境的版本改了就好
一. ’ AssertionError: Torch not compiled with CUDA enabled’
以前总是嫌装环境太麻烦,碰到些需要用到GPU的项目都不想去复现了。。。这次因为论文需要,下定决心要把pytorch的安装问题搞定,但是期间遇到了很多问题,最烦人的莫过于这个’ AssertionError: Torch not compiled with CUDA enabled’
这时候首先应该做的就是确认pytorch、cuda、cuddn、torch和torchvision是否安装成功,以及版本是否正确!
1. 如何查看pytorch、cuda、cuddn、torch和torchvision的版本并且进行下载安装?
1)查看版本
查看pytroch版本
>>> import torch >>> print(torch.__version__)
cuda和cudnn版本
import torch torch.cuda.is_available() # 检查cuda是否可用 torch.version.cuda # 查看cuda版本 torch.backends.cudnn.is_available() # 检查cudnn是否可用 torch.backends.cudnn.version() # 查看cudnn版本
torch和torchvision版本
import torch torch.__version__ import torchvision torchvision.__version__
2)确认对应版本,下载与安装
下载pytorch
pytorch官网链接如下Start Locally | PyTorch
可以根据自己的显卡选择能承载的pytorch版本,参考链接:
二. PyTorch、CUDA Toolkit 及显卡驱动版本对应关系
过往pytorch链接点击官网图中的红字部分“install previous versions of PyTorch.”即可
torch、torchvision、cuda的对应版本和下载
根据pytorch版本不同,所适用的torch和torchvision皆可通过pytorch官网直接查找,以下为官网链接 Previous PyTorch Versions | PyTorch
如何使用?以pytorch 1.12.0版本为例
上图为官网中1.12.0版本的部分,可以看到我们有conda和wheel两种方式进行torch和torchvision的下载,从两种方式中选一种即可。OSX、Linux和Windows表示你所使用的系统。代码中出现的cuda版本都是该pytorch版本所适用的。
用官网的源下载torch和torchvision速度过慢的解决方法,可以参考博主:
三. Torch和torchvision的安装
其中的方法总结下来就是自己手动下载然后pip install该文件,下载地址为:
https://download.pytorch.org/whl/torch_stable.html】
需要注意不要下载错误文件!!文件名称的含义参考该博主:
四. 安装pytorch时,文件名称的识别
2. 判断AttributeError的错误原因并解决问题
首先输入下列代码
import torch print(torch.__version__) print(torch.cuda.is_available())
1)输出为False
解决方案可参考博客:
五. Pytorch错误:Torch not compiled with CUDA enabled
以及:
九. 解决 AssertionError Torch not compiled with CUDA enabled
2)输出为True
参考博主:
十. Torch not compiled with CUDA enabled报错的解决办法!!!
总之就是需要创建新环境,我也不清楚原因。。。
问题:
什么我的dos窗口可以查出cuda版本,用代码查不出呢。
二. PyTorch、CUDA Toolkit 及显卡驱动版本对应关系
CUDA驱动及CUDA Toolkit最高对应版本如下:
如果上述没有你想要的,参考官方文档
注:驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。
CUDA Toolkit版本及可用PyTorch对应关系
注:虽有的卡驱动更新至较新版本,且CUDA Toolkit及PyTorch也可对应更新至新版本。但可能用不了,建议用稳定版
查询驱动版本
nvidia-smi
此处提供三种方法可供选择。
(1)指定CUDA Toolkit版本(推荐)
根据表一查询到可安装的CUDA Toolkit版本,470.141对应最高的CUDA Toolkit版本为11.4。上述表格没有,你可以装11.3的驱动,向下兼容向上不行
运行conda install pytorch cudatoolkit=11.3 -c pytorch即可。
此方法指定CUDA Toolkit版本后,conda会自动匹配到合适版本的PyTorch。
(2)指定PyTorch版本
根据表一查询到可安装的CUDA Toolkit版本,再根据表二查询到合适版本的PyTorch。465对应最高的CUDA Toolkit版本为11.3,11.3可安装PyTorch1.11.0版本(向下兼容)。
运行conda install pytorch=1.11.0 -c pytorch即可。
此方法指定PyTorch版本后,conda会自动匹配到合适版本的CUDA Toolkit。
(3)同时指定CUDA Toolkit版本和PyTorch
根据表一查询到可安装的CUDA Toolkit版本,根据表二查询到合适版本的PyTorch。
运行conda install pytorch=1.11.0 cudatoolkit=11.3 -c pytorch即可。
注:
(1)需要安装torchaudio以及torchvision时将其放在pytorch之后即可,如:conda install pytorch torchaudio torchvision cudatoolkit=11.4 -c pytorch(个人建议这样装)
(2)-c pytorch为采用官网源下载,如果去掉,则在清华镜像源配置后可采用清华镜像源下载,配置清华镜像源可参考:
Linux下conda使用清华镜像源快速安装PyTorch
PyTorch官网
官网下载比较慢
添加清华镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
查看添加镜像源:
conda config --set show_channel_urls yes | cat ~/.condarc
显示,则添加成功
在PyTorch官网查看适合版本安装命令
onda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
注意:不要复制 -c pytorch即可采用清华镜像源下载,否则采用官网源下载。等待安装成功即可。以上可能会出错,则将https改为http,重新添加源即可
# 删除已添加的源 conda config --remove-key channels
三. Torch和torchvision的安装
叮~ 快收藏torch和torchvision的详细安装步骤~~~~~
要安装torch和torchvision,首先要确定你电脑安装的python的版本,而且还要知道torch和torchvision的版本对应
即:torch - torchvision - python版本的对应关系(网上一搜一大把)
一. torch的安装步骤
1. 先查看python的版本,方法是Windows+R,输入cmd,打开命令提示符,输入python,即可查看python的版本
2. 根据python版本下载torch和torchvision,例如我电脑安装python的版本是3.9,我下载的torch和torchvision版本如下(大家一定选取适合自己python版本的torch和torchvision进行安装)
(torch和torchvision下载网址:https://download.pytorch.org/whl/torch_stable.html)
3. torch和torchvision下载好之后,就可以开始安装了cpu/torchvision-0.10.0%2Bcpu-cp39-cp39-win_amd64.whl
还是在命令提示符上进行安装,安装前要知道下载的torch和torchvision的位置,首先进入到该目录下,在进行命令安装,还是以我3.9的python版本为例,
安装torch:
pip install torch-1.9.1+cpu-cp39-cp39-win_amd64.whl
安装torchvision:
pip torchvision-0.10.0%2Bcpu-cp39-cp39-win_amd64.whl
(上图红色方框内是安装命令,箭头所指是安装成功的标志
二. 问题
1. 您好请问你的webload是pytorch环境吗
- 不是,单纯的一个下载路径
2. torch版本是CPU版本,torchvision 版本是GPU版本?
- 对 torchvision应该选cpu-torchvision
cu-torchvision是gpu版本的 安装的时候一定要注意
3. 你好我装torchvision 出来这个是什么意思
C:\Users\HP>pip install torchvision-0.10.0+cpu-cp39-cp39-win_amd64 (1).whl Defaulting to user installation because normal site-packages is not writeable ERROR: Invalid requirement: 'torchvision-0.10.0+cpu-cp39-cp39-win_amd64'
- 权限问题吧
4. 麻烦问一下amd显卡的电脑能安装torchvision么。torch已经按照其他链接下载了cpu版本安装成功了。
-
可以的 但是要装cpu版本的 torchvision
-
好的好的,谢谢!
5. 作者你好,在安装torchvision时下载速度很慢,最终报错:ERROR: Exception:
Traceback (most recent call last): File "D:\Anaconda\lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher yield File "D:\Anaconda\lib\site-packages\pip\_vendor\urllib3\response.py", line 519, in read data = self._fp.read(amt) if not fp_closed else b"" File "D:\Anaconda\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read data = self.__fp.read(amt) File "D:\Anaconda\lib\http\client.py", line 462, in read n = self.readinto(b) File "D:\Anaconda\lib\http\client.py", line 506, in readinto n = self.fp.readinto(b) File "D:\Anaconda\lib\socket.py", line 704, in readinto return self._sock.recv_into(b) File "D:\Anaconda\lib\ssl.py", line 1241, in recv_into return self.read(nbytes, buffer) File "D:\Anaconda\lib\ssl.py", line 1099, in read return self._sslobj.read(len, buffer) socket.timeout: The read operation timed out。
这是什么原因呢?
- 你好啊 你这个问题应该添加镜像 提速 就可以了
四. 安装pytorch时,文件名称的识别
这里记录一下在安装pytorch时,下载whl文件时,选择版本的问题。
首先提一下pytorch安装。
-
有显卡的话,是需要先安装cuda的,cuda的安装是需要根据你自己电脑的显卡型号来安装,具体可百度。然后根据cuda型号和自己电脑的系统和python版本来下载安装pytorch。
-
没有显卡的话,就只能安装cpu版本的pytorch。这就只需要根据自己电脑的系统和python的版本来下载安装pytorch。
首先到官网https://pytorch.org/,往下面拉,可以看到让你选择配置。
你可以在选择配置后,根据Run this Command里自动生成的代码,在命令行里进行下来。但是一般情况下,都非常慢或者出现很多问题,即使是换了国内的源。
所以建议直接下载whl文件进行安装。
网址:https://download.pytorch.org/whl/torch_stable.html
在这个网站下载所需要版本的torch和torchvision,然后再命令行里pip install 进行安装就行了。
下面说明这些文件名称的含义。
最前面的cpu就是cpu版本的意思,如果要gpu版本的,前面就是cu开头,cu后面的数字就是cuda的版本号,你自己用的什么版本的cuda就下载哪个版本的。
查询cuda版本,在命令行输入nvcc -V
这里的cuda版本是10.0,那么我就应该选择cu100开头的文件。
再后面的torch或者torchvision就表示是哪个文件了,后面跟的就是这个文件的版本,建议下载最新版本。
再后面cp+数字就是对映python的版本,如果你的python是3.7的,就下载cp37的文件。
再后面,就是操作系统,win或者mac或者linux。
五. Pytorch错误:Torch not compiled with CUDA enabled
一. 在用Pytorch炼丹的过程中,很意外地碰到了一个错误提示AssertionError: Torch not compiled with CUDA enabled,如下图所示。
代码本身可以确定是没有问题的,因为只是在往日已经跑过的代码上加入了小改动。最后发现问题出现在Pytorch和CUDA版本不兼容的问题上。问题的发现可以在终端中输入’python’命令,运行python后,输入
import torch print(torch.__version__) print(torch.cuda.is_available())
如果输出的结果是False,那么说明当前的Pytorch版本无法使用显卡。
解决办法:
1)如果有显卡资源并需要使用显卡资源,先检查一下当前的CUDA版本(详情见六. Ubuntu下查看cuda版本的两种方法),在终端中输入
cat /usr/local/cuda/version.txt
然后根据自己的CUDA版本在Pytorch官网查看并安装可用的版本,参考链接如下:
CUDA 10.2
https://download.pytorch.org/whl/cu102/torch_stable.html
CUDA 10.1
https://download.pytorch.org/whl/cu101/torch_stable.html
CUDA 10.0
https://download.pytorch.org/whl/cu100/torch_stable.html
CUDA 9.0
https://download.pytorch.org/whl/cu90/torch_stable.html
CPU及所有CUDA版本
https://download.pytorch.org/whl/torch_stable.html
2)如果没有可用的显卡资源,则检查代码,把调用显卡资源的部分全部去掉即可
二. 问题
1. 在在终端中输入cat /usr/local/cuda/version.txt
显示cat: /usr/local/cuda/version.txt: 没有那个文件或目录
这是没有cuda?
- 不一定,有可能是version.txt被删掉了。你可以用nvidia-smi这个命令来查看cuda版本,这个命令本来是用来看显存占用情况的。
2. 请问如何把调用显卡资源的部分全部去掉呢?去掉哪部分?
-
.cuda()或者.to(device)
-
能具体一点吗
不太会
-
哪一步?
3. Windows上的咋整?
-
类似,不同cuda版本下的pytorch有相应的win,linux,mac版本
-
got it!
4. 请问下面这行代码应该怎样修改呢?
flat_config.device = int(torch.cuda.device_count()) - 1
- 应该是直接去掉
5. nvidia-smi
也可以用这个看cuda的版本
-
具体咋操作呢,在哪输入nvidia-smi呢
-
命令行里
6. 在终端中输入cat/usr/local/cuda 这里的终端是啥呢
- 你的是什么系统?
7. 想问一下,我是用conda安装cudatoolkit的,怎么在conda虚拟环境里检测CUDA版本号?
- 这我还真没试过,用查看显存的命令nvidia-smi试试?或者在env文件夹里搜索一下关于cuda的文件?
8. 如果显示true呢
-
显示true的话,就说明当前版本的pytorch和cuda是匹配的
-
显示ture还报AssertionError: Torch not compiled with CUDA enabled呢?
-
我也是这样的,请问你解决这个问题了吗
9. CUDA版本11.4但是并没有在pytorch网站看到CU114只有到111可以吗
- 可以试试,不行的话就建议降低cuda版本
六. Ubuntu下查看cuda版本的两种方法
参考资料:七. ubuntu16.04查看CUDA和cuDNN版本
一. cuda版本的两种方法
在安装Pytorch等深度学习框架的时候,我们往往需要检查是否和cuda版本匹配。在Ubuntu系统下查看cuda版本的方法,我发现有两个。
方法一:
比较常用的一个方法是使用如下命令:
cat /usr/local/cuda/version.txt
使用该命令的效果如下图所示:
方法一使用效果
方法二:
方法一主要是依据cuda安装时保存的关于版本的txt文件。但是这个txt文件有可能被清空或者是误删,再用方法一查询的结果就为空。这个时候可以用第二种方法,使用如下命令:
nvidia-smi
这个命令原本是用来查看显存占用情况的,但是也会附带显示cuda的版本信息,显示的效果如下图所示:
附:对于有些网友反馈说,两个方法显示结果不一致的情况,一开始我以为是cuda后续有更新导致的,不过有一篇博文(八. ubuntu 之 查看 cuda,cudnn版本)解释了这个情况,据说是有驱动(driver)API版本和运行(runtime)API的区别,这位作者建议参考方法一的结果安装tensorflow和pytorch等程序,大家可以参考一下这篇博文(八. ubuntu 之 查看 cuda,cudnn版本)。
二. 问题
1. 博主,两种方法显示的结果不一样
-
我图示的结果是在两台机器上操作的,现在更改成同一台机器的结果了
-
我的也是两种方法显示的结果不一样。。
2. 博主你好,我这两种方法显示不一样,一个是8.0.6,一个是10.1,你知道这是怎么回事吗
- 可以参考一下这个链接(八. ubuntu 之 查看 cuda,cudnn版本)里说的
3. 请问下,我的显示不一样,一个显示10.0,一个显示10.1是为什么啊
[/code] yyl@yyl-Z370-HD3:~/桌面/毕业设计/Attention_in_Graph-master$ cat /usr/local/cuda/version.txt CUDA Version 10.0.130 yyl@yyl-Z370-HD3:~/桌面/毕业设计/Attention_in_Graph-master$ nvidia-smi Mon Dec 14 18:14:39 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 430.34 Driver Version: 430.34 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 2060 Off | 00000000:07:00.0 On | N/A | | 0% 54C P8 19W / 190W | 350MiB / 5933MiB | 10% Default | +-------------------------------+----------------------
- 可以参考一下这个链接(八. ubuntu 之 查看 cuda,cudnn版本)里说的
4. 后一个是显卡驱动支持的最高cuda版本
七. ubuntu16.04查看CUDA和cuDNN版本
命令
cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
nvcc -V
问题
1. 第一条命令找不到cuda版本,第二条命令显示cuda9.0.为什么会这样
- 解决没
2. 请问前两条有用,第三条未找到命令怎么办呀
- 没配置环境变量。配置了环境变量重启下就好了
八. ubuntu 之 查看 cuda,cudnn版本
一. 查看 cuda,cudnn版本
1.查看cudnn版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
新版本变化:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
2.查看cuda版本则有很多种办法:
①:
nvidia-smi
②:
nvcc -V
③:
cat /usr/local/cuda/version.txt
细心地同学会发现,有时①查看的cuda版本和②、③查出来的会不同,这是什么原因呢。原来cuda的API分为两种类型,一种是驱动(driver)API,另一种是运行(runtime)API。而我们通过nvidia-smi查看的cuda版本正是驱动API版本。通过nvcc -V 和 cat /usr/local/cuda/version.txt查看的一般是运行API,因此两者存在出入是正常的。
但是我们运行程序时所使用的是运行API,我们时常讲的cuda,cudnn,tensorflow-gpu版本之间的对应,也是针对运行API来讲的,也就是后两者查看的版本。
附:对应关系:
可以通过该网址查看:从源代码构建 | TensorFlow
下面添加一条比较老的版本的配置:
tensorflow_gpu-1.0.0 2.7、3.3-3.6 --- --- 5.0 8
cudnn 和 cuda 版本对应关系:
cuDNN Archive | NVIDIA Developer
二. 问题
1. 我服了这学校服务器查出来三种结果
-
我也是,你最后解决了没
-
解决了
2. 你好,意思是我们装cuda的时候按需装就好,不用按nvidia-smi显示的版本装就可以了吗?
-
是的,按需装,在满足按需的前提下,版本最好低于nvidia-smi显示的
-
谢谢
3. 请问为什么装完驱动后(nvidia-smi里面有显示cuda)但是没有装cuda,也一样可以使用GPU训练(显示使用cuda训练)
-
你是用conda安装的cuda版本的torch吗?torch这个好像没有那么严格的依赖cuda,tensorflow要求的比较苛刻
-
pip安装没有用anaconda,
九. 解决 AssertionError Torch not compiled with CUDA enabled
最近在矩池云的的Tesla K80机子上跑MMYOLO,跟着MMYOLO官方文档《自定义数据集 标注+训练+测试+部署 全流程 》操作到 “2.1.1 软件或者算法辅助”时,利用预训练模型+官方脚本去辅助标注时,一按下回车就报错:
报错信息
AssertionError Torch not compiled with CUDA enabled
报错信息分析
说的是torch编译的时候CUDA不可用
但是服务器已经预装有pytorch和cuda了,我分别用
nvidia-smi
和
nvcc -V
都可以查到CUDA的版本
本机配置如下:
但是我在ipython中查看
torch.cuda.is_available()
返回结果是false,
报错原因
所用环境中所装的pytorch版本与CUDA版本不匹配
或者pytorch完全就是GPU版的(而我们需要GPU版本的)
解决过程
-
然后我对比了conda list和pip list中torch的版本,发现两个list中的torch版本居然不一样,conda list中的torch是1.12.1+cu113是合适的,但是pip lIst中的torch是1.13x不是cuda版本的。
-
确定了pytorch的版本不对之后,就可以到Pytorch官网找对应版本进行安装
https://pytorch.org/get-started/previous-versions/
一定要选+cuxxx的版本来安装
-
安装完之后可以在ipython中用
torch.cuda.is_available()
验证一下,如果是True,就说明问题解决了
pip list与conda list的区别:pip list显示的只是当前环境中的包,而conda list显示的是当前环境与关联环境中的包,所以看当前环境具体有什么包还是得通过pip list 更准确。
十. Torch not compiled with CUDA enabled报错的解决办法!!!
说在前面 我解决这个错误花了一天多不到两天的时间 感谢各位大佬的帮助 我太菜了 在这期间 我经历了看了百度里面的几乎所有的博客 但是依然不好使…
这个是和我遇到了同样问题的一个大佬,看了他这篇博客之后觉得他说的话就是我想说的…
下面是建立在成功安装cuda之后,网上有很多教程安装cuda以及cudnn,在这里就不详细说了。
1.首先我从网上面下载下来了torch和torchvision,是下面这个版本:
(ps:我会传到资源上面去稍后。)
!!!注意:我这里面python是3.8.8,所以cp后面是38;cu110是因为我之前装的cuda的版本是11.0版本;win就不用说了,我是windows的;torch和torchvision的版本必须匹配!
在安装之后如何检查是否匹配,查看torch版本:
如果是True的话就代表匹配。
2.我一直报的这个错误是这样的:
但是我的依然是True。见上面那个图。网上面有很多博客上面说是因为torch和torchvision不匹配,可是我的是完全匹配的。
附:网上面有很多博客是这样安装的,我就是这样安装的用的是pip安装的,但是报错:
3.正确的安装手法:
(1)打开anaconda prompt
(2)创建一个环境:
这里面的torch是一个新建的环境的名字。不要看最左边的torch,因为你一定不是,我已经创建完了。
(3)然后激活环境:
(4)安装torch:
(5)安装torchvision:
(6) 这步一定要有,不然import torch会报错:
over!!!
检查一下是否安装成功:
附:如何卸载pytorch:
pip uninstall torch
如何查看python的版本:
python --version
写在最后:虽然这样是不报错了,可是我还是不明白为什么不能用我的另一个python解释器,用pip直接安装,不用conda这样是错误的。用conda整个虚拟环境重新装一下,在换下解释器就对了。。。。。。
问题:
1. torch没有上传因为太大了,torchvision已经上传了,torch和torchvision可以去官网下载。
2. 请问如果显卡不支持安装cuda该怎么办
- 请问你解决了吗?我的显卡也不支持装cuda
3. 请问你解决了吗?我的显卡也不支持装cuda
- 请问你解决了吗?我的显卡也不支持装cuda
4. 请问怎么更换解释器啊,谢谢博主!
- 这个应该是在pycharm上换成你刚装好的那个环境
5. 没有显卡的电脑出现这个报错怎么办啊
- 没有显卡肯定会报错啊,要不换电脑,要不用cpu
6. 我的情况一样,但是我就是按照离线安装的方法安装的。True仍然报这个错误,但是我在另一台电脑上同样的操作安装却能运行成功。就可离谱
7. 我遇到了,我是在虚拟环境上运行程序,结果不能用cuda,但我记得之前可以用,结果我发现虚拟环境上的torch版本和base上的不一样,base上就可以用所以是true,而虚拟环境版本不对,所以是false,把虚拟环境的版本改了就好
lizhyuxi_1105
Torch not compiled with CUDA enabled 报错的归纳总结
浪迹天涯@wxy
PyTorch、CUDA Toolkit 及显卡驱动版本对应关系
Sweet_Ya
Torch和torchvision的安装
Leon_BUAA
安装pytorch时,文件名称的识别
噢啦啦耶
Pytorch错误:Torch not compiled with CUDA enabled
Ubuntu下查看cuda版本的两种方法
z止于至善
ubuntu16.04查看CUDA和cuDNN版本
NuerNuer
ubuntu 之 查看 cuda,cudnn版本
华幽子丶
解决 AssertionError Torch not compiled with CUDA enabled
nenuyear
Torch not compiled with CUDA enabled报错的解决办法!!!
- 没有显卡肯定会报错啊,要不换电脑,要不用cpu
- 这个应该是在pycharm上换成你刚装好的那个环境
- 请问你解决了吗?我的显卡也不支持装cuda
-
-
-
-
- 没配置环境变量。配置了环境变量重启下就好了
- 解决没
- 可以参考一下这个链接(八. ubuntu 之 查看 cuda,cudnn版本)里说的
- 可以参考一下这个链接(八. ubuntu 之 查看 cuda,cudnn版本)里说的
-
- 可以试试,不行的话就建议降低cuda版本
-
- 这我还真没试过,用查看显存的命令nvidia-smi试试?或者在env文件夹里搜索一下关于cuda的文件?
- 你的是什么系统?
-
- 应该是直接去掉
-
-
- 不一定,有可能是version.txt被删掉了。你可以用nvidia-smi这个命令来查看cuda版本,这个命令本来是用来看显存占用情况的。
-
- 你好啊 你这个问题应该添加镜像 提速 就可以了
-
- 权限问题吧
- 对 torchvision应该选cpu-torchvision
- 不是,单纯的一个下载路径




































