Bug小能手系列(python)_13: RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might

Python运行代码报错

  • 0 引言
  • 1 报错原因
  • 2 解决思路
  • 3. 总结

0 引言

在运行 Python 代码时出现报错:

RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

注意:报错对应的代码部分与实际出现错误的部分是不同的。具体报错截图如下所示:
在这里插入图片描述

1 报错原因

当代码中存在数组越界或者标签不一致的时候就会出现该错误。这里说的标签不一致的意思是:模型输入的标签应该是0-3,但是你实际输入的标签是1-4
当出现该错误时,有时提示的代码错误的位置和实际位置是不一致的。

2 解决思路

当出现该报错时,首先在代码加载库包部分加入下面两行代码(首先找到代码实际报错位置):

import os
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'

加入该代码后,再次运行代码,此时报错位置为实际报错位置

然后,再分析代码报错原因
在这里插入图片描述
这里给出了我代码的实际报错位置:
在这里插入图片描述
然后,分析是否是数据维度不匹配或者标签错误
最后,分析出是标签错误,并成功运行代码!!!

最后,也有一些是别的原因导致的错误。
例如:在加载数据时,num_workers 需要设置为0

DataLoader(dataset = dataset,batch_size = batch_size,num_workers = 0,shuffle = True)

3. 总结

总的而言,感觉出现该错误主要是因为标签或者数组越界的问题。如果大家有什么解决方案的话可以评论留言,这边会根据最新的内容进行更新!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

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

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

相关文章

C/C++ 常用加密与解密算法

计算机安全和数据隐私是现代应用程序设计中至关重要的方面。为了确保数据的机密性和完整性,常常需要使用加密和解密算法。C是一种广泛使用的编程语言,提供了许多加密和解密算法的实现。本文将介绍一些在C中常用的加密与解密算法,这其中包括Xo…

Kafka-TopicPartition

Kafka主题与分区 主题与分区 topic & partition,是Kafka两个核心的概念,也是Kafka的基本组织单元。 主题作为消息的归类,可以再细分为一个或多个分区,分区也可以看作对消息的二次归类。 分区的划分为kafka提供了可伸缩性、水…

【Web】Ctfshow Thinkphp3.2.3代码审计(1)

目录 ①web569 ②web570 ③web571 ④web572 ①web569 基础考察 /index.php/Admin/Login/ctfshowLogin ②web570 提示找路由 查看附件源码 (config.php) 发现定义了一个可执行命令的路由规则 /index.php/ctfshow/assert/eval($_POST[1]) 1system(tac /f*); ③web571 提…

设备树是什么?

设备树: 设备树DTS(Device Tree Source) 描述设备信息的独立的文件。 为什么要引入设备树? 随着芯片的发展,Linux内核中就包含着越来越多这些描述设备的代码,导致Linux内核代码会很臃肿。因此引入了设备树文件,从…

手摸手Element-Plus组件化开发

前端环境准备 编码工具: VSCode 依赖管理:NPM 项目构建: Vuecli NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。2020年3月17日,Github宣布收购npm&am…

大数据项目--学习笔记

新零售项目介绍 1,行业背景介绍 一,百货商店 百货商店是世界商业史上第一个实行新销售方法的现代大量销售组织。其新型销售方法有: 1.顾客可以毫无顾忌地、自由自在地进出商店; 2.商品销售实行“明码标价…

【brpc学习实践八】bvar及其应用

什么是bvar bvar是多线程环境下的计数器类库,支持单维度bvar和多维度mbvar,方便记录和查看用户程序中的各类数值,它利用了thread local存储减少了cache bouncing,相比UbMonitor(百度内的老计数器库)几乎不会给程序增加性能开销&a…

HarmonyOS安装三方库遇到的问题

使用开发电脑系统为:MacOS, 开发工具为:DevEco-Studio版本号3.1.1 Release。在控制栏使用终端工具输入命令:ohpm install ohos/lottie遇到的第一个问题如下图。 解决方案: 1、在首选项中找到ohpm的安装路径。 2、打开bash_profil…

java爱心代码,脱单必备

package com.example.test;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit; import java.util.jar.JarOutputStream;import javax.swing.JFrame;class Cardioid extends JFrame {//定义窗口大小private …

⑩【Redis Java客户端】:Jedis、SpringDataRedis、StringRedisTemplate

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Jedis、SpringDataRedis、StringRedisTemplate…

Linux 命令vim(编辑器)

(一)vim编辑器的介绍 vim是文件编辑器,是vi的升级版本,兼容vi的所有指令,同时做了优化和延伸。vim有多种模式,其中常用的模式有命令模式、插入模式、末行模式:。 (二)vim编辑器基本操作 1 进入vim编辑文件 1 vim …

死磕Nacos系列:Nacos事件发布订阅模型

前言 在Nacos源码中,你是否也经常看到NotifyCenter.publishEvent这样的代码块? 这个事件发布出去后,有哪些类接收到通知并进行了逻辑处理呢? 这里面的实现逻辑是什么呢? 如果你不太清楚,那我们一起来梳理…