1 Ubuntu使用nohub后台运行训练程序
我在这篇文章Centos7 – nohup方式优雅的部署jar包 中已经详细介绍了如何使用nohub后台运行程序,在阅读以下内容之前先阅读这篇文章。
比如训练模型命令为:
python train.py
要使用nohub后台训练上述模型,我们新建两个个shell脚本,start_train.sh,stop_train.sh。
其中start_train.sh内容为
#! /bin/bash
#注意:必须有&让其后台执行,否则没有pid生成 jar包路径为绝对路径
nohup python train.py > ./train_log.txt 2>&1 &
# 将jar包启动对应的进程pid写入文件中,为停止时提供pid
echo $! > ./train_pid.txt
stop_train.sh内容为
#! /bin/bash
PID=$(cat ./train_pid.txt)
kill -9 $PID
这样就可以通过
bash start_train.sh
启动模型训练进程,通过
bash stop_train.sh
终止模型训练程序。
如果要查看训练中的实时日志,可以使用以下命令
tail -f ./train_log.txt
2 nohub在启动后台时制定GPU
我们经常通过以下命令在有多个GPU的情况下指定训练时所使用的GPU
CUDA_VISIBLE_DEVICES=0 python train.py
如果要想在nohub中使用,则需要修改start_train.sh的内容,以下为修改的内容
#! /bin/bash
#注意:必须有&让其后台执行,否则没有pid生成 jar包路径为绝对路径
CUDA_VISIBLE_DEVICES=0 nohup python train.py > ./train_log.txt 2>&1 &
# 将jar包启动对应的进程pid写入文件中,为停止时提供pid
echo $! > ./train_pid.txt
就是将CUDA_VISIBLE_DEVICES=0
放在nohub之前即可,其他的环境变量设置也可以通过放在nohub之前进行设置。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:nohub后台运行AI训练进程与指定训练GPU和环境变量
原文链接:https://www.stubbornhuang.com/3111/
发布于:2024年11月30日 16:28:45
修改于:2024年11月30日 16:28:45
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52