针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法

针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法

文章目录

Abstract

PyTorch多卡并行运行程序is one of the most prevalent methods for training large models. nohup也是后台运行程序的一个主要工具。然而,我最近遇到采用nohup后台挂起的多卡并行程序突然断掉了。

具体的报原因青参考博客nohup训练pytorch模型时的报错以及tmux的简单使用.

该博客推荐使用tmux来进行会话管理。screen, tmux是两种常用的会话管理工具。博客tmux使用指南:比screen好用n倍!也推荐 使用tmux. 然而,我在使用tmux的过程中又遇到了一个新的问题---tmux创建的会话无法切换到相应的conda环境。网上的许多博客

1tmux中conda环境无法生效问题

2tmux+conda环境配置不对问题解决

均对这个问题给出了自己的答案,然而,unfortunately, 这些博客在我的vscode终端开发环境下均无效。

受到 博客tmux使用指南:比screen好用n倍!评论区中的一个推荐byobu的评论的启发,

本文提出了一个byobu和tmux结合使用的方法,解决了上述nohup后台挂起失败以及tmux无法切换环境的问题。

screen和tmux介绍

screen是Linux中比较常用的可以"接入"和"离开"的shell对话框,很大地方法方便了我们ssh登录服务器跑任务,如果不用screen, 我们合上电脑,ssh就断开了,相应的服务器运行任务也断开了。与screen类似,tmux也是一个常用的会话管理工具。

复制代码
# tmux的层次:
-session1
---window1
------subwindow1
------subwindow2
------subwindow3
------subwindow4
---window2
-session2
---window3
---window4

tmux服务可以开启多个session.

一个session可以开多个window

一个window可以分多个subwindow.

tmux常用命令以及快捷键

虽然网上有很多写tmux常用快捷键的博客,但是这些命令并不完全都能在我们自己的环境中有效。例如, tmux的ctr + b +d 的detach session功能就无法在vscode远程开发环境中生效,取而代之的是ctr + a + d,原因未知。所以,tmux快捷键命令是否生效要因自己的环境自行判断。大部分快捷键不会变动。可以参考Tmux使用教程,阮一峰的网络日志。

tmux的一个优点是:

tmux会话内如果还有运行的程序,输入exit命令,会提示不允许退出,太牛了。这样就避免了由于误输入结束session命令导致程序意外中断的问题。

Byobu

Byobu又是怎么一回事呢?Byobu是在Tmux的基础之上进一步封装得到的工具,拥有更多的快捷键,更加方便。最重要的是,对于单纯使用tmux导致的环境无法切换的问题,在Byobu这里就不存在。

然而,单纯使用Byobu的快捷键来进行管理终端可以进行地操作有限。所以,最终的解法是:先运行byobu命令,进入到byobu之后,退出,然后使用tmux管理新建session, detach session等操作。

简单操作步骤集锦

1.在vscode终端运行 byobu, 进入到一个byobu session

2.按ctr + a +d , 退出该session

3.新建一个名为s1的session.

bash 复制代码
tmux new -s s1

4.ctr+a+d 退出当前session

  1. tmux ls 查看所有的session

  2. 重新attach s1

bash 复制代码
tmux attach -t s1

-t意为 target

7.删除某个session

tmux kill-session -t s1

参考文献

1 nohup训练pytorch模型时的报错以及tmux的简单使用

2 tmux使用指南:比screen好用n倍!

3 tmux中conda环境无法生效问题

4 tmux+conda环境配置不对问题解决

5 Tmux使用教程,阮一峰的网络日志

相关推荐
别动我齐刘海2 分钟前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
必须得开心呀12 分钟前
python编写带界面的软件,需要安装哪些插件
开发语言·python
Wx-bishekaifayuan19 分钟前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
loulanyue_24 分钟前
从个人提效到团队可验证交付:中宏保险AI Coding流水线重塑与Qoder实战——读中宏保险AI架构总监王志宇2026云栖专场演讲
人工智能·架构
砚凝霜34 分钟前
【软考信息安全】第十章 入侵检测概述与原理分类
人工智能·安全·数据挖掘
青少儿编程课堂1 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
鬓戈1 小时前
Logits 到底是什么
人工智能
计算机编程指导师1 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
Wx-bishekaifayuan1 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
golang学习记1 小时前
Zed 新特性:AI 还在跑,电脑可以不睡了
人工智能·vscode·电脑·zed