SSH 服务器,防止链接断开,训练终止操作————screen
在训练模型时,尤其是在使用远程服务器或集群时,运行 screen
是一种非常实用的方式,特别是当你希望在训练过程中保持会话稳定、不被中断。下面是关于 screen
的一些基本介绍以及如何在训练模型前使用 screen
:
为什么使用 screen
?
- 保持会话活跃:当你通过 SSH 连接到远程服务器时,如果连接断开,通常会导致所有运行中的程序(例如训练任务)被终止。使用
screen
可以在后台保持会话,即使 SSH 连接断开,任务依旧在运行。 - 多任务切换:
screen
允许在同一个会话中同时运行多个任务,方便你在同一终端中处理多项工作。 - 恢复会话:你可以随时断开
screen
会话并在以后重新连接,从而检查任务进度或执行新命令。
screen
的基本用法
1. 启动一个新的 screen
会话
在训练模型之前,先启动一个新的 screen
会话,这样即使你关闭了 SSH 连接,训练任务也会继续在后台运行。
screen -S my_training
2. 运行你的模型训练代码
启动 screen
会话后,你可以像平时一样运行模型训练代码。例如:
python train_model.py
3. 分离 screen
会话
你可以在不结束任务的情况下退出 screen
会话,任务将继续运行。要分离会话,可以使用以下快捷键:
Ctrl + A, D
这将会退出 screen
会话并返回到普通的终端界面,但你的训练任务依旧在后台运行。
4. 恢复 screen
会话
如果你想重新连接到之前的 screen
会话,可以使用以下命令:
screen -r my_training
5. 查看所有的 screen
会话
如果你忘记了会话的名称,或者有多个会话在运行,可以用以下命令查看所有的会话:
screen -ls
这将列出所有当前活跃的 screen
会话,你可以选择恢复到任意一个。
6. 关闭 screen
会话
如果训练完成并且你想结束会话,可以直接退出:
exit