网站功能板块,网站建设会提供哪些服务,济南中建设计院网站,页面设计公司哪家好针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法 文章目录 针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法Abstractscreen和tmux介绍tmux常用命令以及快捷键Byobu简单操作步骤集锦参考文献 Abstract
PyTorch多卡并行运行程序is one of the mos…针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法 文章目录 针对基于nohup后台运行PyTorch多卡并行程序中断问题的一种新方法Abstractscreen和tmux介绍tmux常用命令以及快捷键Byobu简单操作步骤集锦参考文献 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环境。网上的许多博客 [1]tmux中conda环境无法生效问题 [2]tmuxconda环境配置不对问题解决 均对这个问题给出了自己的答案然而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
---window4tmux服务可以开启多个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.
tmux new -s s14.ctrad 退出当前session 5. tmux ls 查看所有的session 6. 重新attach s1
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] tmuxconda环境配置不对问题解决 [5] Tmux使用教程阮一峰的网络日志