AI开发平台MODELARTS-开发用于自定义镜像训练的代码:自定义镜像的启动命令规范

时间:2025-05-28 18:37:17

自定义镜像的启动命令规范

用户遵循ModelArts镜像的规范要求制作镜像,选择自己的镜像,并且通过指定代码目录(可选)和启动命令的方式来创建的训练作业。

图1 创建训练作业选择自定义方式
  1. 当使用完全自定义镜像创建训练作业时,“启动命令”必须在“/home/ma-user”目录下执行,否则训练作业可能会运行异常。
  2. 对于启动命令,当存在输入管道、输出管道、或是超参的情况下,请保证启动命令的最后一条命令是运行训练脚本,否则执行会报错。
  1. 完全使用自定义镜像创建训练作业需要通过指定的“conda env”启动训练。

    由于训练作业运行时不是shell环境,因此无法直接使用“conda activate”命令激活指定的 “conda env”,需要使用其他方式以达成使用指定“conda env”来启动训练的效果。假设您的自定义镜像中的“conda”安装于“/home/ma-user/anaconda3”目录“conda env”“python-3.7.10”,训练脚本位于“/home/ma-user/modelarts/user-job-dir/code/train.py”。可通过以下方式使用指定的“conda env”启动训练:

    • 方式一:为镜像设置正确的“DEFAULT_CONDA_ENV_NAME”环境变量与“ANACONDA_DIR”环境变量。
      ANACONDA_DIR=/home/ma-user/anaconda3
      DEFAULT_CONDA_ENV_NAME=python-3.7.10
      您可以使用Python命令启动训练脚本。启动命令示例如下:
      python /home/ma-user/modelarts/user-job-dir/code/train.py
    • 方式二:使用“conda env python”的绝对路径。
      您可以使用“/home/ma-user/anaconda3/envs/python-3.7.10/bin/python”命令启动训练脚本。启动命令示例如下:
      /home/ma-user/anaconda3/envs/python-3.7.10/bin/python /home/ma-user/modelarts/user-job-dir/code/train.py
    • 方式三:设置PATH环境变量。
      您可以将指定的“conda env bin”目录配置到PATH环境变量中。您可以使用Python命令启动训练脚本。启动命令示例如下:
      export PATH=/home/ma-user/anaconda3/envs/python-3.7.10/bin:$PATH; python /home/ma-user/modelarts/user-job-dir/code/train.py
    • 方式四:使用“conda run -n”命令。
      您可以使用“/home/ma-user/anaconda3/bin/conda run -n python-3.7.10”命令来执行训练命令,启动命令示例如下:
      /home/ma-user/anaconda3/bin/conda run -n python-3.7.10 python /home/ma-user/modelarts/user-job-dir/code/train.py
  2. 启动命令的最后一条命令必须为运行训练脚本命令。

    对于启动命令,当存在输入管道、输出管道、或是超参的情况下,请保证启动命令的最后一条命令是运行训练脚本。

    原因:系统会将输入管道、输出管道、以及超参添加到启动命令的末尾,如果最后一条命令不是运行训练脚本则会报错。

    例如:启动命令的最后一条是python train.py,且存在--data_url超参,系统正常运行会执行python train.py --data_url=/input。但是当启动命令python train.py后面有其他命令时,如下所示:

    python train.py
    pwd    #反例,启动命令的最后一条命令不是运行训练脚本,而是pwd

    此时,如果拼接了输入管道、输出管道、以及超参,系统运行实际执行的是python train.py pwd --data_url=/input,就会报错。

support.huaweicloud.com/usermanual-standard-modelarts/develop-modelarts-1416.html
提示

您即将访问非华为云网站,请注意账号财产安全