更新时间:2026-08-04 GMT+08:00
分享

训练作业环境变量

解释说明

环境变量是训练作业运行时注入到容器中的键值对参数,可在启动脚本中通过shell脚本的$变量名命令或python脚本的os.environ.get()方法读取,用于向训练脚本传递运行时配置信息,无需修改代码即可灵活调整作业行为。

约束限制

每个训练作业配置的环境变量总数不超过100条。

使用场景

  • 系统环境变量:由ModelArts平台自动注入,提供作业运行所需的平台信息。适用于脚本中获取作业ID、代码文件夹的父目录、容器加速卡数量、容器下标、容器地址域名等平台预定义信息,避免硬编码。
  • 自定义环境变量:由用户手动配置,用于向脚本传递业务参数(如参数、数据路径等),实现同一脚本在不同参数下复用。

常用环境变量

表1表2是常用环境变量,如需了解更多环境变量,请参考管理训练容器环境变量

表1 路径相关环境变量

变量名

说明

示例

默认值

MA_HOME

训练作业的主目录。

“MA_HOME=/home/ma-user”

/home/ma-user

MA_JOB_DIR

训练算法文件夹所在的父目录。

“MA_JOB_DIR=/home/ma-user/modelarts/user-job-dir”

/home/ma-user/modelarts/user-job-dir

MA_MOUNT_PATH

ModelArts挂载至训练容器内的路径,用于临时存放训练算法、算法输入、算法输出、日志等文件。

“MA_MOUNT_PATH=/home/ma-user/modelarts”

/home/ma-user/modelarts

MA_LOG_DIR

训练日志目录。

“MA_LOG_DIR=/home/ma-user/modelarts/log”

/home/ma-user/modelarts/log

表2 分布式训练作业环境变量

变量名

说明

示例

默认值

MA_CURRENT_IP

作业容器IP。

“MA_CURRENT_IP=192.168.23.38”

作业容器IP,不固定

MA_NUM_GPUS

作业容器的加速卡数量。

“MA_NUM_GPUS=8”

0

MA_TASK_NAME

作业容器的角色名,例如:

  • MindSpore、PyTorch为worker
  • 强化学习引擎为learner,worker
  • TensorFlow为ps,worker

“MA_TASK_NAME=worker”

worker

MA_NUM_HOSTS

实例数。系统自动从资源参数的“实例数”中读取。

“MA_NUM_HOSTS=4”

1

VC_TASK_INDEX

当前容器索引,容器从0开始编号。单机训练的时候,该字段无意义。在多机作业中,用户可以根据这个值来确定当前容器运行的算法逻辑。

“VC_TASK_INDEX=0”

0

VC_WORKER_NUM

训练作业使用的实例数量。

“VC_WORKER_NUM=4”

1

VC_WORKER_HOSTS

多节点训练时,每个节点的域名地址,按顺序以英文逗号分隔。

如PyTorch框架的Master实例地址可通过shell脚本获取:

MASTER_ADDR="${VC_WORKER_HOSTS%%,*}"  # MASTER_ADDR为用户自定义变量。

“VC_WORKER_HOSTS=modelarts-job-a0978141-1712-4f9b-8a83-000000000000-worker-0.modelarts-job-a0978141-1712-4f9b-8a83-000000000000,modelarts-job-a0978141-1712-4f9b-8a83-000000000000-worker-1.ob-a0978141-1712-4f9b-8a83-000000000000”

节点的域名地址,不固定

相关文档