当前位置: 首页 > news >正文

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包裹。


问题补充

偶尔出现的硬件问题:
服务器的所有外接设备失效,比如网线、鼠标键盘插进去都没有什么反应,需要重启。


解决思路

以下是我排查过的问题和思路,并没有发现问题所在

已排查的错误:

  1. 显卡、内存等进行压力测试,并没有报任何错误;
  2. 主机盖打开,增加散热能力;
  3. 重装系统n次:重装之后一般能解决,但是过一段时间又出现;最近又重装了ubuntu22.04.3,第一次运行就发生了中断;
  4. 限制cpu功率,没办法解决;
  5. num_works设为0,仍然出现该问题;
  6. pin_memory关闭,还是存在该问题;
  7. 环境不兼容?cuda改成11.8还是有问题,Pytorch环境倒是没有尝试用其它的,感觉不是这个问题吧;
  8. Pytorch从1.12换成2.0.0,代码运行了12小时后中断;
  9. batch_size调小,显存只占用17G左右,还是会中断;
  10. 不使用nohup后台运行,仍然运行一会后会中断;
  11. 正在尝试将tqdm版本切换与另外一台服务器的相同版本,代码还是会中断;
  12. 每一步主要的程序使用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豪俊的帮助及引导;
  • 下次更新将解决安装英伟达驱动无法开机进入桌面的问题。
http://www.lryc.cn/news/412226.html

相关文章:

  • 只有4%知道的Linux,看了你也能上手Ubuntu桌面系统,Ubuntu简易设置,源更新,root密码,远程服务...
  • Tomcat部署——个人笔记
  • 常见且重要的用户体验原则
  • web基础及nginx搭建
  • C++ 布隆过滤器
  • 使用HTML创建用户注册表单
  • Python零基础入门教程
  • 成为git砖家(10): 根据文件内容生成SHA-1
  • 园区导航小程序:一站式解决园区导航问题,释放存储,优化访客体验
  • 对于n进制转十进制的解法及代码(干货!)
  • 当代互联网打工人的生存现状,看完泪流满面!
  • 花几千上万学习Java,真没必要!(三十八)
  • Zilliz 2025届校园招聘正式启动,寻找向量数据库内核开发工程师
  • TwinCAT3 新建项目教程
  • 大模型算法面试题(十九)
  • 应用地址信息获取新技巧:Xinstall来助力
  • 图的最短路径算法:Dijkstra、Floyd-Warshall、Bellman-Ford
  • Camera的pipline(TODO)
  • 非关系数据库-非关系数据库入门指南
  • 看门狗IWDG、WWDG(速记版)
  • ETL工程师角度下的SQL优化
  • 阿里云实时计算Flink在多行业的应用和实践
  • 开源项目与工具:C++中的高性能并发库 - Intel Threading Building Blocks (TBB)
  • Chapter 22 数据可视化——折线图
  • 管理流创建schema流程源码解析
  • 【iOS】iOS内存五大分区
  • 【项目实战】—— 高并发内存池
  • 二叉搜索树的第 k 大的节点
  • 利用langchain 做大模型 Few-shot Learning 提示,包括固定和向量相似的动态样本筛选
  • 基于python的百度迁徙迁入、迁出数据分析(五)