更优雅的后台训练模型的方法
说起后台训练模型,首先想到的必然是nohup &
的方式,nohup &后台运行程序。
但我有时候会遇到bug。
这里介绍一种更优雅的方式tmux
详细内容见Tmux命令使用教程!SSH远程训练模型必备
安装
# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux
新建会话
# 默认新建一个编号为0的会话
tmux
# 新建一个特定名称的会话
tmux new -s <session name>
分离会话
# 注意分离会话并不是退出会话,会话还存在,只不过在后台运行
tmux detach
终结会话
# 快捷键ctrl+d具有统样的效果,这里就终结会话了,之后无法再次访问
exit
查看会话
# 分离的会话可通过下面的命令查看
tmux list # or tmux ls
杀死会话
tmux kill-session -t <name or id>
重新连接分离的会话
tmux attach -t xxx
如何使用tmux训练模型
tmux
开启一个会话python main.py &
在会话中后台运行程序,为啥要在会话中后台运行,因为训练模型必然会输出log,这样就没有办法分离会话了,所以要后台运行。tmux detach
分离会话tmux ls
查看会话tmux attach -t xxx
连接会话查看模型训练结果