如何训练作业保持运行中状态
由于需要训练作业处于“运行中”状态才能登录Cloud Shell,因此本文介绍如何使训练作业保持运行中状态,方便您快速通过Cloud Shell登录运行中的训练容器。
通过Sleep命令使训练作业保持运行
- 如果训练作业使用的是预置框架:
在创建训练作业时,“创建方式”选择“自定义算法”,“启动方式”选择“预置框架”,代码目录中新增sleep.py并将此脚本作为“启动文件”。这样启动的作业将会持续运行60分钟。您可通过Cloud Shell进入容器进行调试。
sleep.py示例:
import os os.system('sleep 60m')
图1 预置框架启动方式
- 如果训练作业使用的是自定义镜像
在创建训练作业时,“创建方式”选择“自定义算法”,“启动方式”选择“自定义”,“启动命令”输入“sleep 60m”。这样启动的作业将会持续运行60分钟。您可通过Cloud Shell进入容器进行调试。
图2 自定义启动方式
出错的任务如何卡在运行中状态
cmd || sleep 5h
如果训练失败,则会执行sleep命令,此时可通过Cloud Shell登录容器镜像中调试。
在Cloud Shell中调试多节点训练作业时,需要在Cloud Shell中切换work0、work1来实现对不同节点下发启动命令,否则任务会处于等待其他节点的状态。