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. 如何查看pytorchcudacuddntorchtorchvision的版本并且进行下载安装?
        • 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. 如何查看pytorchcudacuddntorchtorchvision的版本并且进行下载安装?

1)查看版本

查看pytroch版本

>>> import torch
>>> print(torch.__version__)

cudacudnn版本

import torch
torch.cuda.is_available()   # 检查cuda是否可用
torch.version.cuda          # 查看cuda版本
torch.backends.cudnn.is_available()  # 检查cudnn是否可用
torch.backends.cudnn.version()       # 查看cudnn版本

torchtorchvision版本

import torch
torch.__version__
import torchvision
torchvision.__version__

2)确认对应版本,下载与安装
下载pytorch

pytorch官网链接如下Start Locally | PyTorch

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第1张图片

可以根据自己的显卡选择能承载的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版本为例

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第2张图片

上图为官网中1.12.0版本的部分,可以看到我们有condawheel两种方式进行torchtorchvision的下载,从两种方式中选一种即可。OSXLinuxWindows表示你所使用的系统。代码中出现的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最高对应版本如下:

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第3张图片
如果上述没有你想要的,参考官方文档

注:驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。
CUDA Toolkit版本及可用PyTorch对应关系

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第4张图片
注:虽有的卡驱动更新至较新版本,且CUDA Toolkit及PyTorch也可对应更新至新版本。但可能用不了,建议用稳定版

查询驱动版本

nvidia-smi

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第5张图片

此处提供三种方法可供选择。

(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官网查看适合版本安装命令

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第6张图片

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的版本

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第7张图片

2. 根据python版本下载torch和torchvision,例如我电脑安装python的版本是3.9,我下载的torch和torchvision版本如下(大家一定选取适合自己python版本的torch和torchvision进行安装)

(torch和torchvision下载网址:https://download.pytorch.org/whl/torch_stable.html)
Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第8张图片
Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第9张图片

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

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第10张图片
在这里插入图片描述
在这里插入图片描述
(上图红色方框内是安装命令,箭头所指是安装成功的标志

二. 问题

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里自动生成的代码,在命令行里进行下来。但是一般情况下,都非常慢或者出现很多问题,即使是换了国内的源。

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第11张图片

所以建议直接下载whl文件进行安装。

网址:https://download.pytorch.org/whl/torch_stable.html

在这个网站下载所需要版本的torch和torchvision,然后再命令行里pip install 进行安装就行了。

下面说明这些文件名称的含义。

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第12张图片

最前面的cpu就是cpu版本的意思,如果要gpu版本的,前面就是cu开头,cu后面的数字就是cuda的版本号,你自己用的什么版本的cuda就下载哪个版本的。

查询cuda版本,在命令行输入nvcc -V

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第13张图片

这里的cuda版本是10.0,那么我就应该选择cu100开头的文件。

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第14张图片

再后面的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的版本信息,显示的效果如下图所示:

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第15张图片
附:对于有些网友反馈说,两个方法显示结果不一致的情况,一开始我以为是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

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第16张图片

nvcc -V

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第17张图片

问题

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

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第18张图片

下面添加一条比较老的版本的配置:

tensorflow_gpu-1.0.0             2.73.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的版本

本机配置如下:

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第19张图片
但是我在ipython中查看

torch.cuda.is_available()

返回结果是false,

报错原因

所用环境中所装的pytorch版本与CUDA版本不匹配
或者pytorch完全就是GPU版的(而我们需要GPU版本的)

解决过程
  1. 然后我对比了conda list和pip list中torch的版本,发现两个list中的torch版本居然不一样,conda list中的torch是1.12.1+cu113是合适的,但是pip lIst中的torch是1.13x不是cuda版本的。

  2. 确定了pytorch的版本不对之后,就可以到Pytorch官网找对应版本进行安装
    https://pytorch.org/get-started/previous-versions/
    在这里插入图片描述
    一定要选+cuxxx的版本来安装

  3. 安装完之后可以在ipython中用

torch.cuda.is_available()

验证一下,如果是True,就说明问题解决了

pip list与conda list的区别:pip list显示的只是当前环境中的包,而conda list显示的是当前环境与关联环境中的包,所以看当前环境具体有什么包还是得通过pip list 更准确。




十. Torch not compiled with CUDA enabled报错的解决办法!!!

说在前面 我解决这个错误花了一天多不到两天的时间 感谢各位大佬的帮助 我太菜了 在这期间 我经历了看了百度里面的几乎所有的博客 但是依然不好使…

这个是和我遇到了同样问题的一个大佬,看了他这篇博客之后觉得他说的话就是我想说的…

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第20张图片

下面是建立在成功安装cuda之后,网上有很多教程安装cuda以及cudnn,在这里就不详细说了。

1.首先我从网上面下载下来了torch和torchvision,是下面这个版本:

在这里插入图片描述

(ps:我会传到资源上面去稍后。)

!!!注意:我这里面python是3.8.8,所以cp后面是38;cu110是因为我之前装的cuda的版本是11.0版本;win就不用说了,我是windows的;torch和torchvision的版本必须匹配!

在安装之后如何检查是否匹配,查看torch版本:
Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第21张图片
如果是True的话就代表匹配。

2.我一直报的这个错误是这样的:

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第22张图片

但是我的依然是True。见上面那个图。网上面有很多博客上面说是因为torch和torchvision不匹配,可是我的是完全匹配的。

附:网上面有很多博客是这样安装的,我就是这样安装的用的是pip安装的,但是报错:

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第23张图片

3.正确的安装手法:

(1)打开anaconda prompt

(2)创建一个环境:

在这里插入图片描述
这里面的torch是一个新建的环境的名字。不要看最左边的torch,因为你一定不是,我已经创建完了。

(3)然后激活环境:
在这里插入图片描述
(4)安装torch:

在这里插入图片描述
(5)安装torchvision:

在这里插入图片描述
(6) 这步一定要有,不然import torch会报错:

在这里插入图片描述

over!!!

检查一下是否安装成功:

Python&aconda系列:Torch not compiled with CUDA enabled 报错的归纳总结_第24张图片

附:如何卸载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报错的解决办法!!!

你可能感兴趣的:(#,python,python,开发语言)