文档首页> AI开发平台ModelArts> 模型训练> 完成一次训练> Cloud Shell> 如何训练作业保持运行中状态
更新时间:2024-05-23 GMT+08:00

如何训练作业保持运行中状态

由于需要训练作业处于“运行中”状态才能登录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 自定义启动方式

出错的任务如何卡在运行中状态

创建训练作业时,启动命令末尾新增"|| sleep 5h",并启动训练任务,例如下方的cmd为您的启动命令:
cmd || sleep 5h

如果训练失败,则会执行sleep命令,此时可通过Cloud Shell登录容器镜像中调试。

在Cloud Shell中调试多节点训练作业时,需要在Cloud Shell中切换work0、work1来实现对不同节点下发启动命令,否则任务会处于等待其他节点的状态。