关于 AssertionError: Torch not compiled with CUDA enabled 问题

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益:

  1. 了解大厂经验
  2. 拥有和大厂相匹配的技术等

希望看什么,评论或者私信告诉我!

文章目录

  • 一、前言
  • 二、正文
    • 2.1 CUDA 是什么
    • 2.2 Intel(R) Lris(R)Xe Graphics 是什么
  • 三、AssertionError: Torch not compiled with CUDA enabled 怎么解
    • 3.1 步骤1:检查GPU是否支持CUDA
    • 3.2 安装支持CUDA的PyTorch版本
    • 3.3 安装CUDA工具包
    • 3.4 重新安装PyTorch
    • 3.5 验证安装
    • 3.6 总结
  • 三、总结


一、前言

最近喜欢上了 ComfyUI ,在安装的过程中,出现了

AssertionError: Torch not compiled with CUDA enabled

网上有很多文章都在讲怎么解决,没啥意思,本篇会视图搞懂啥是 CUDA,为 Torch 是基于 CUDA 的

二、正文

2.1 CUDA 是什么

全称:Compute Unified Architecture,是 Nvidia’s GPUs 上的通用处理平台。不需要顺序执行的任务,可以利用GPU中的 CUDA 实现并行计算

借助 C、C++ 和 Fortran 语言支持,使用 CUDA 将计算密集型任务运行到 Nvidia GPU 非常容易。 CUDA 被用于需要大量计算能力的领域,或者可以并行化并且需要高性能的场景。机器学习、医学研究和分析、物理学、超级计算、加密货币挖掘、科学建模和模拟等领域都在使用 CUDA。

2.2 Intel® Lris(R)Xe Graphics 是什么

为什么介绍它呢?原因很简单,因为我使用的笔记本的显卡就是它。它是 Intel 的集成显卡。所以如果你的也是这样的。那么恭喜你。网上多数解决方案,肯定解决不了 AssertionError: Torch not compiled with CUDA enabled 。
在这里插入图片描述

三、AssertionError: Torch not compiled with CUDA enabled 怎么解

3.1 步骤1:检查GPU是否支持CUDA

首先,确保你的GPU支持CUDA。你可以访问NVIDIA官网查看你的GPU是否支持CUDA。如果你的GPU不支持CUDA,那么你需要更换支持CUDA的GPU或者在CPU上运行你的PyTorch程序。

3.2 安装支持CUDA的PyTorch版本

如果你确定你的GPU支持CUDA,那么接下来需要安装支持CUDA的PyTorch版本。你可以从PyTorch官网下载对应你GPU型号和操作系统的安装包。在下载安装包时,请确保选择支持CUDA的版本。

3.3 安装CUDA工具包

在安装PyTorch之前,你需要先安装CUDA工具包。你可以从NVIDIA官网下载对应你GPU型号和操作系统的CUDA工具包。安装完成后,你需要将CUDA工具包的路径添加到系统环境变量中。具体操作方法可以参考CUDA安装文档。

3.4 重新安装PyTorch

安装好CUDA工具包后,重新安装PyTorch。按照之前下载的PyTorch安装包进行安装,确保选择与你的GPU和操作系统相匹配的版本。在安装过程中,确保勾选“Install CUDA”选项,以便将PyTorch与CUDA集成。

3.5 验证安装

完成以上步骤后,验证PyTorch是否正确安装了CUDA支持。打开Python终端,输入以下命令:

import torch

如果成功导入PyTorch库,那么说明你已经成功安装了支持CUDA的PyTorch版本。接下来,你可以尝试运行你的PyTorch程序,看看是否还会出现“AssertionError: Torch not compiled with CUDA enabled”错误。

3.6 总结

  1. 如何解:
    进入 pytorch官网,https://pytorch.org/get-started/locally/ 选择合适的方式下载合适的包
  2. 合适选择方法,例如 inter 显卡,不要用 cuda 相关的方法:

torch.device(torch.cuda.current_device())

三、总结

CUDA 是 Nvidia’s GPUs 上的通用处理平台,用于实现并行计算。如果出现 “AssertionError: Torch not compiled with CUDA enabled” 错误,需要检查GPU是否支持CUDA,并安装支持CUDA的PyTorch版本以及CUDA工具包,然后重新安装PyTorch进行验证。

另外不建议,程序员购买 非 Nvidia 的GPU的电脑,一定要注意,程序员买电脑要随大流,用大众的东西,而非小众的,比如 intel GPU,我是没办法,用的是公司电脑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaWeb智能医疗管理系统

简介 在当今快节奏的生活中,智能医疗系统的崛起为医疗行业带来了一场革命性的变革。基于JavaWeb技术开发的智能医疗管理系统,不仅为医疗机构提供了高效、精准的管理工具,也为患者提供了更便捷、更个性化的医疗服务。本文将介绍一个基于SSM&a…

vue快速入门(二十九)echarts在vue中的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 echarts.js的下载途径echarts的饼图示范 echarts.js&#xff0c;点击跳转&#xff0c;右键另存即可 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

小试牛刀!

1.从双倍数组中还原原数组&#xff08;力扣&#xff0c;vector&#xff09; java式c解法。 class Solution { public:vector<int> findOriginalArray(vector<int>& changed) {int n changed.size();if(n % 2 1) return {};map<int, int> mp;for(int c…

Applied Spatial Statistics(二)统计推断:排列测试

Applied Spatial Statistics&#xff08;二&#xff09;统计推断&#xff1a;排列测试 本笔记本演示了如何执行假设检验和 p 值计算的排列检验。 相关系数Moran’s I 相关性 import pandas as pd import matplotlib.pyplot as plt import numpy as np from scipy.stats imp…

pycharm永久改变sys.path

进入pycharm&#xff0c;选择file->settings->interpreter 在这里选择图中所示show all 再单击左上角减号右侧第三个&#xff0c;长得像思维导图的图标 之后添加你的路径&#xff0c;确认即可

2024最新面试跳槽,软件测试面试题的整理与解析

今天接着来说说测试工程师面试比较高频的面试题&#xff0c;大家可以通过面试题内的一些解析再结合自己的真实工作经验来进行答题思路的提取、整理。 硬背答案虽可&#xff0c;但容易翻车哦。能够举一反三才是重点&#xff01; 1&#xff1a;请介绍一下UI自动化测试中三种时间等…

【若依前后端分离】设置已选中内容条数

示例&#xff1a; 将已选中n行加在了分页中&#xff0c;有分页才可以选择已选中多少行。如果想要不加分页也可以展示已选中n行&#xff0c;自行修改部分代码即可。 关键代码&#xff1a; 这使用了span&#xff0c;可使用其他元素 使用了Vue.js的v-if指令来根据条件是否渲染该…

前端JS必用工具【js-tool-big-box】,时间日期转换学习一

这一小节&#xff0c;我们学习一下 js-tool-big-box 这个npm 前端工具库&#xff0c;关于时间日期格式转换的一部分&#xff0c;后续还会有。 目录 1 安装 2 项目中引入 3 工具使用 3.1 年月日时分秒的单独处理 3.2 以上方法中第一个参数 3.3 日期时间的转换 3.4 更个…

6.C++:继承

一、继承 //1.类中的保护和私有在当前类中没有差别&#xff1b; //2.在继承后的子类中有差别&#xff0c;private在子类中不可见&#xff0c;所以用protected&#xff1b; class person { public:void print(){cout << "name:" << _name << endl;c…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Push Button的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件Push Button的使用及说明 文章编号&#xff1…

2024年华中杯数学建模竞赛全攻略:ABC题思路解析+代码实现+数据集+论文撰写+全程答疑

引言 &#xff08;比赛后所有题目资料在文末获取呀&#xff09; 华中杯数学建模竞赛是数学建模领域的一项重要赛事&#xff0c;它不仅考验参赛者的数学建模能力&#xff0c;还考验了编程技能、数据分析能力和论文撰写能力。为了帮助参赛者更好地准备2024年的竞赛&#xff0c;本…

RAG学习笔记系列(一)

RAG 介绍 RAG 全称为 Retrieval Augmented Generation&#xff08;检索增强生成&#xff09;。是基于LLM构建系统的一种架构。 RAG 基本上可以理解为&#xff1a;搜索 LLM prompting。根据用户的查询语句&#xff0c;系统会先使用搜索算法获取到相关内容作为上下文&#xff0…

pnpm 报错: ERR_PNPM_META_FETCH_FAIL

今天突然遇到一个报错&#xff0c;pnpm 报错&#xff1a; ERR_PNPM_META_FETCH_FAIL  GET https://registry.npm.taobao.org/vue%2Fcli-service: request to https://registry.npm.taobao.org/vue%2Fcli-service failed, reason: certificate has expired问题原因&#xff1a;…

when语法学习及判断主机别名实例

目录 1、概念 2、实例配置 2.1 编写剧本体验when的用法 2.2 执行剧本文件 2.3 使用ansible临时命令进行测试 1、概念 when是用于判断的语法&#xff0c;将其用在每个动作的下方进行判断&#xff0c;使得只有在满足条件才会执行。 2、实例配置-判断主机别名 在每个客户端中…

Compose 基础组件

文章目录 Compose 基础组件Modifier 修饰符Scaffold 脚手架 Compose 基础组件 Modifier 修饰符 在传统视图体系中&#xff0c;使用XML文件描述组件的样式&#xff0c;而在Compose中使用Modifier&#xff0c;每个基础的Composable组件都有一个modifier参数&#xff0c;通过Mod…

使用CCS软件查看PID曲线

在刚开始学习PID的时候&#xff0c;都需要借助PID的曲线来理解比例&#xff0c;积分&#xff0c;微分这三个参数的具体作用。但是这些曲线生成一般都需要借助上位机软件或者在网页上才能实现。如果是在单片机上调试程序的话&#xff0c;想要看曲线&#xff0c;一般就是通过串口…

【YOLOv5】使用yolov5训练模型时报错合集

文章目录 前言问题1 -- VsCode终端无法进入Anaconda创建的虚拟环境【问题描述】【问题分析】【解决方式】方法一方法二 问题2 -- 怎么在VsCode中为项目配置Anaconda创建的虚拟环境【问题描述】【解决方式】 问题3 -- yolov5训练模型时报错RuntimeError: result type Float cant…

web自动化测试系列-selenium常用方法定位(五)

目录 1.selenium的定位方法 2.操作案例 3.实现代码 前面我们介绍了html页面元素主要是通过标签和属性来进行定位 &#xff0c;只要满足唯一&#xff0c;无论是标签还是属性 &#xff0c;都能进行定位 。当然 &#xff0c;我们要通过selenium来进行定位 &#xff0c;同样还是…

基于SpringBoot的在线五子连珠的设计与实现,前端采用vue框架;后端采用SpringBoot,mybatis

介绍 基于SpringBoot的在线五子连珠的设计与实现&#xff0c;主要是设计一款五子棋游戏&#xff0c;涉及登录注册的功能&#xff0c;人机对战、联机对战和积分排行榜的功能。其中人机对战中&#xff0c;电脑采用的是采用了一种基于局面分析的评分算法来确定机器人的下一步落子…

线程池学习(通俗易懂)

线程池 线程池是什么ThreadPoolExecutor模拟实现线程池结语 线程池是什么 假设我们要频繁的创建线程和销毁线程,但是创建线程和销毁线程是有成本的. 所以我们可以提前创建一批线程,后面需要使用的时候,直接拿就可以了,这就是线程池. 当线程不再使用的时候,就归还到池子里.为什…