Ubuntu运行深度学习代码,代码随机epoch中断没有任何报错
深度学习运行代码直接中断
文章目录
- 深度学习运行代码直接中断
- 问题描述
- 设备信息
- 问题补充
- ```解决思路```
- ```问题发现及正确解决思路```
- 新问题出现
- 最终问题:ubuntu系统,4090显卡安装英伟达驱动535.x外的驱动会导致开机无法进入桌面
- 问题记录
问题描述
运行深度学习代码,然后直接中断,就是停止不运行,显卡也停下来,没有任何报错提示。不是在固定的Epoch发生的,像是随机的。中断出现的epoch不确定,时而运行1-2个小时中断,时而运行数10个小时再发生中断。
设备信息
硬件:4090(24G,电竞判客)+i9-14900K+DDR5
系统:Ubuntu22.04.3;
深度学习环境:Pytorch112,cuda12.0,英伟达驱动535.183.01;
代码:计算机视觉相关的代码,相同能够在其它服务器上运行,应该不是代码的问题。
运行方式:使用nohup后台运行,输出的内容会用tqdm包裹。
问题补充
偶尔出现的硬件问题:
服务器的所有外接设备失效,比如网线、鼠标键盘插进去都没有什么反应,需要重启。
解决思路
以下是我排查过的问题和思路,并没有发现问题所在
已排查的错误:
- 显卡、内存等进行压力测试,并没有报任何错误;
- 主机盖打开,增加散热能力;
- 重装系统n次:重装之后一般能解决,但是过一段时间又出现;最近又重装了ubuntu22.04.3,第一次运行就发生了中断;
- 限制cpu功率,没办法解决;
- num_works设为0,仍然出现该问题;
- pin_memory关闭,还是存在该问题;
- 环境不兼容?cuda改成11.8还是有问题,Pytorch环境倒是没有尝试用其它的,感觉不是这个问题吧;
- Pytorch从1.12换成2.0.0,代码运行了12小时后中断;
- batch_size调小,显存只占用17G左右,还是会中断;
- 不使用nohup后台运行,仍然运行一会后会中断;
- 正在尝试将tqdm版本切换与另外一台服务器的相同版本,代码还是会中断;
- 每一步主要的程序使用print输出,用于定位问题所在。
问题发现及正确解决思路
代码在一台服务器上能够正常运行,在4090上运行异常,代码中断不报错。
因此,以后当大家第一时间遇见这个问题的时候,就应该主动去查看系统的运行日志,定位代码停止运行时刻对应的日志。
(1)输出系统日志,然后查看代码中断时间的日志记录
# journalctl输出系统日志,后面是将输出重定位的journal.log文件
journalctl > journal.log
(2)查看系统对应的日志记录
7月 25 12:54:04 4090 kernel: show_signal_msg: 50 callbacks suppressed
7月 25 12:54:04 4090 kernel: yida_24-0725-09[1030438]: segfault at 8 ip 000061cc54bfdefa sp 00007fff10053f90 error 4 in python3.9[61cc54a89000+223000] likely on CPU 7 (core 12, socket 0)
7月 25 12:54:04 4090 kernel: Code: 04 24 4c 8d 15 a7 e8 19 00 41 89 7e 68 49 83 c4 02 0f b6 d0 0f b6 cc 49 89 d0 41 89 c9 41 ff 24 d2 4c 8b 7d f8 44 89 4c 24 20 <49> 8b 47 08 4c 89 ff ff 90 e0 00 00 00 4c 63 4c 24 20 48 85 c0 0f
(3) 定位问题出现的原因
通过baidu发现问题出现的潜在原因,发现是底层的计算错误。因此,我去比对2台服务器的Python版本,发现正常运行代码的一台服务器gcc是11.x,另外异常的一台服务器是gcc7.x。
(4) 解决问题
最终,我通过新建Python环境并更新gcc,发现能够解决该中断问题!!!
(5) 问题由来
问题是由于安装较为老旧的miniconda,其中Python3.9的gcc是7.x,导致了这个底层的问题和计算bug。终于TMD解决这“悄无声息”的问题!!!哈哈哈哈
新问题出现
虽然,代码不会中断了,但是代码的运行偶尔会让系统崩溃!!!又尝试了多种问题均无法解决该问题。无奈,只能重装升级ubuntu23.04,成功解决系统崩溃的问题!!!这ubuntu22.04.3真的是服了!
最终问题:ubuntu系统,4090显卡安装英伟达驱动535.x外的驱动会导致开机无法进入桌面
查找到一个教程似乎能够解决该问题,将发起最终的冲刺解决全部问题。
问题记录
- 2024年08月01日21:02:23,完成bug的记录及问题解决思路;
- 感激CSDN豪俊的帮助及引导;
- 下次更新将解决安装英伟达驱动无法开机进入桌面的问题。
相关文章:

Ubuntu运行深度学习代码,代码随机epoch中断没有任何报错
深度学习运行代码直接中断 文章目录 深度学习运行代码直接中断问题描述设备信息问题补充解决思路问题发现及正确解决思路新问题出现最终问题:ubuntu系统,4090显卡安装英伟达驱动535.x外的驱动会导致开机无法进入桌面问题记录 问题描述 运行深度学习代码…...

只有4%知道的Linux,看了你也能上手Ubuntu桌面系统,Ubuntu简易设置,源更新,root密码,远程服务...
创作不易 只因热爱!! 热衷分享,一起成长! “你的鼓励就是我努力付出的动力” 最近常提的一句话,那就是“但行好事,莫问前程"! 与辉同行的董工说:守正出奇。坚持分享,坚持付出,坚持奉献,…...

Tomcat部署——个人笔记
Tomcat部署——个人笔记 文章目录 [toc]简介安装配置文件WEB项目的标准结构WEB项目部署IDEA中开发并部署运行WEB项目 本学习笔记参考尚硅谷等教程。 简介 Apache Tomcat 官网 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中…...
常见且重要的用户体验原则
以下是一些常见且重要的用户体验原则: 1. 以用户为中心 - 深入了解用户的需求、期望、目标和行为习惯。通过用户研究、调查、访谈等方法获取真实的用户反馈,以此来设计产品或服务。 - 例如,在设计一款老年手机时,充分考虑老年…...
web基础及nginx搭建
第四周 上午 静态资源 根据开发者保存在项目资源目录中的路径访问静态资源 html 图片 js css 音乐 视频 f12 ,开发者工具,网络 1 、 web 基本概念 web 服务器( web server ):也称 HTTP 服务器( HTTP …...

C++ 布隆过滤器
1. 布隆过滤器提出 我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,它每次推荐时要去重,去掉 那些已经看过的内容。问题来了,新闻客户端推荐系统如何实现推送去重的? 用服务器记录了用 户看过的所有历史…...
使用HTML创建用户注册表单
在当今数字化时代,网页表单对于收集用户信息和促进网站交互至关重要。无论您设计简单的注册表单还是复杂的调查表,了解HTML的基础知识可以帮助您构建有效的用户界面。在本教程中,我们将详细介绍如何使用HTML创建基本的用户注册表单。 第一步…...
Python零基础入门教程
Python零基础详细入门教程可以从以下几个方面进行学习和掌握: 一、Python基础认知 1. Python简介 由来与发展:Python是一种广泛使用的高级编程语言,由Guido van Rossum(吉多范罗苏姆)于1991年首次发布。Python以其简…...

成为git砖家(10): 根据文件内容生成SHA-1
文章目录 1. .git/objects 目录2. git cat-file 命令3. 根据文件内容生成 sha-14. 结语5. References 1. .git/objects 目录 git 是一个根据文件内容进行检索的系统。 当创建 hello.py, 填入 print("hello, world")的内容, 并执行 git add hello.py gi…...

园区导航小程序:一站式解决园区导航问题,释放存储,优化访客体验
随着园区的规模不断扩大,功能区划分日益复杂,导致访客和新员工在没有有效导航的情况下容易迷路。传统APP导航虽能解决部分问题,但其下载安装繁琐、占用手机内存大、且非高频使用导致的闲置,让许多用户望而却步。园区导航小程序的出…...
对于n进制转十进制的解法及代码(干货!)
对于p进制转十进制,我们有:(x)pa[0]*p^0a[1]*p^1a[2]*p^2...a[n]*p^n 举个例子:(11001)21*10*20*41*81*1625 (9FA)1610*16^015*16^19*16^22554 据此,我们可以编出c代码来解决问题 …...

当代互联网打工人的生存现状,看完泪流满面!
欢迎私信小编,了解更多产品信息呦~...

花几千上万学习Java,真没必要!(三十八)
测试代码1: package iotest.com; import java.nio.charset.StandardCharsets; import java.io.UnsupportedEncodingException; public class StringByteConversion { public static void main(String[] args) throws UnsupportedEncodingException { // 原始字…...

Zilliz 2025届校园招聘正式启动,寻找向量数据库内核开发工程师
为了解决非结构化数据处理问题,我们构建了向量数据库-Milvus! Milvus 数据库不仅是顶级开源基金会 LF AI&Data 的毕业项目,还曾登上数据库顶会SIGMOD、VLDB,在全球首届向量检索比赛中夺冠。目前,Milvus 项目已获得超过 2.8w s…...

TwinCAT3 新建项目教程
文章目录 打开TwinCAT 新建项目(通过TcXaeShell) 新建项目(通过VS 2019)...

大模型算法面试题(十九)
本系列收纳各种大模型面试题及答案。 1、SFT(有监督微调)、RM(奖励模型)、PPO(强化学习)的数据集格式? SFT(有监督微调)、RM(奖励模型)、PPO&…...

应用地址信息获取新技巧:Xinstall来助力
在移动互联网时代,应用获取用户地址信息的需求越来越普遍。无论是为了提供个性化服务,还是进行精准营销,地址信息都扮演着至关重要的角色。然而,如何合规、准确地获取这一信息,却是许多开发者面临的挑战。今天…...
图的最短路径算法:Dijkstra、Floyd-Warshall、Bellman-Ford
本文意在探讨图中最短路径算法 Dijkstra、Floyd-Warshall、Bellman-Ford 的对比和细节 整体分为如下四部分 总结性的比较了 Dijkstra、Floyd-Warshall、Bellman-FordDijkstra 算法介绍Floyd-Warshall 算法介绍Bellman-Ford 算法介绍 其中1、2、3 算法介绍部分会比较简洁&…...
Camera的pipline(TODO)
(TODO)...
非关系数据库-非关系数据库入门指南
非关系数据库入门指南 1. 引言:非关系数据库的兴起 在互联网技术飞速发展的今天,传统的关系型数据库面对海量数据和高并发访问时逐渐显得力不从心。于是,非关系数据库(NoSQL,Not Only SQL)应运而生&…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...