管理训练容器环境变量-九游平台
什么是环境变量
本章节展示了训练容器环境中预置的环境变量,方便用户查看,主要包括以下类型。
- 路径相关环境变量
- 分布式训练作业环境变量
- nccl(nvidia collective multi-gpu communication library)环境变量
- obs环境变量
- pip源环境变量
- api网关地址环境变量
- 作业元信息环境变量
约束限制
为了避免新设置的环境变量与系统环境变量冲突,而引起作业运行异常或失败,请在定义自定义环境变量时,不要使用“ma_”开头的名称。
如何修改环境变量
用户可以在创建训练作业页面增加新的环境变量,也可以设置新的取值覆盖当前训练容器中预置的环境变量值。

为保证数据安全,请勿输入敏感信息,例如明文密码。
训练容器中预置的环境变量
训练容器中预置的环境变量如下面表格所示,包括表1、表2、表3、表4、表5、表6、表7。
此处的环境变量取值仅为示例,涉及不同规格、引擎、region可能取值不一样,此处仅供参考。
变量名 |
说明 |
示例 |
---|---|---|
path |
可执行文件路径,已包含常用的可执行文件路径。 |
“path=/usr/local/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin” |
ld_library_path |
动态链接库路径,已包含常用的动态库路径。 |
“ld_library_path=/usr/local/seccomponent/lib:/usr/local/cuda/lib64:/usr/local/cuda/compat:/root/miniconda3/lib:/usr/local/lib:/usr/local/nvidia/lib64” |
library_path |
静态库路径,已包含常用的静态库路径。 |
“library_path=/usr/local/cuda/lib64/stubs” |
ma_home |
训练作业的主目录。 |
“ma_home=/home/ma-user” |
ma_job_dir |
训练算法文件夹所在的父目录。 |
“ma_job_dir=/home/ma-user/modelarts/user-job-dir” |
ma_mount_path |
modelarts挂载至训练容器内的路径,用于临时存放训练算法、算法输入、算法输出、日志等文件。 |
“ma_mount_path=/home/ma-user/modelarts” |
ma_log_dir |
训练日志目录。 |
“ma_log_dir=/home/ma-user/modelarts/log” |
ma_script_interpreter |
训练脚本解释器。 |
“ma_script_interpreter=” |
workspace |
训练算法目录。 |
“workspace=/home/ma-user/modelarts/user-job-dir/code” |
变量名 |
说明 |
示例 |
---|---|---|
ma_current_ip |
作业容器ip。 |
“ma_current_ip=192.168.23.38” |
ma_num_gpus |
作业容器的加速卡数量。 |
“ma_num_gpus=8” |
ma_task_name |
作业容器的角色名,例如:
|
“ma_task_name=worker” |
ma_num_hosts |
实例数。系统自动从资源参数的“实例数”中读取。 |
“ma_num_hosts=4” |
vc_task_index |
当前容器索引,容器从0开始编号。单机训练的时候,该字段无意义。在多机作业中,用户可以根据这个值来确定当前容器运行的算法逻辑。 |
“vc_task_index=0” |
vc_worker_num |
训练作业使用的实例数量。 |
“vc_worker_num=4” |
vc_worker_hosts |
多节点训练时,每个节点的域名地址,按顺序以英文逗号分隔,可以通过域名解析获取ip地址。 |
“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,modelarts-job-a0978141-1712-4f9b-8a83-000000000000-worker-2.modelarts-job-a0978141-1712-4f9b-8a83-000000000000,ob-a0978141-1712-4f9b-8a83-000000000000-worker-3.modelarts-job-a0978141-1712-4f9b-8a83-000000000000” |
${ma_vj_name}-${ma_task_name}-n.${ma_vj_name} |
表示不同节点的通信域名,例如0号节点的通信域名为 “${ma_vj_name}-${ma_task_name}-0.${ma_vj_name}”。 n表示实例数。 |
例如,实例数为4时,此环境变量分别为 “${ma_vj_name}-${ma_task_name}-0.${ma_vj_name}”、 “${ma_vj_name}-${ma_task_name}-1.${ma_vj_name}”、 “${ma_vj_name}-${ma_task_name}-2.${ma_vj_name}”、 “${ma_vj_name}-${ma_task_name}-3.${ma_vj_name}”。 |
变量名 |
说明 |
示例 |
---|---|---|
nccl_version |
nccl版本。 |
“nccl_version=2.7.8” |
nccl_debug |
nccl日志等级。 |
“nccl_debug=info” |
nccl_ib_hca |
指定nccl使用的ib网卡。 |
“nccl_ib_hca=^mlx5_bond_0” |
nccl_ib_timeout |
infiniband传输超时时间。 |
“nccl_ib_timeout=18” |
nccl_ib_retry_cnt |
infiniband传输最大重试次数。 |
“nccl_ib_retry_cnt=15” |
nccl_ib_gid_index |
infiniband在roce模式下使用的全局id索引。 |
“nccl_ib_gid_index=3” |
nccl_ib_tc |
infiniband的流量类型。 |
“nccl_ib_tc=128” |
nccl_socket_ifname |
指定nccl使用的socket网卡。 |
“nccl_socket_ifname=bond0,eth0” |
nccl_net_plugin |
指定nccl使用的网络插件。 |
“nccl_net_plugin=none” |
变量名 |
说明 |
示例 |
---|---|---|
s3_endpoint |
obs地址。 |
“s3_endpoint=https://obs.region.myhuaweicloud.com” |
s3_verify_ssl |
访问obs是否使用ssl。 |
“s3_verify_ssl=0” |
s3_use_https |
访问obs是否使用https。 |
“s3_use_https=1” |
变量名 |
说明 |
示例 |
---|---|---|
ma_pip_host |
pip源域名。 |
“ma_pip_host=repo.myhuaweicloud.com” |
ma_pip_url |
pip源地址。 |
“ma_pip_url=http://repo.myhuaweicloud.com/repository/pypi/simple/” |
ma_apigw_endpoint |
modelarts api网关地址。 |
“ma_apigw_endpoint=https://modelarts.region..myhuaweicloud.com” |
变量名 |
说明 |
示例 |
---|---|---|
ma_current_instance_name |
多节点训练时,当前节点的名称。 |
“ma_current_instance_name=modelarts-job-a0978141-1712-4f9b-8a83-000000000000-worker-1” |
变量名 |
说明 |
示例 |
---|---|---|
ma_skip_image_detect |
modelarts预检是否开启。默认为1,1表示开启预检,0表示关闭预检。 推荐开启预检,预检可提前发现节点故障、驱动故障。 |
“1” |
变量名 |
说明 |
示例 |
---|---|---|
ma_hang_detect_time |
卡死检测时间。在这段时间内io无变化则判定为任务卡死。 取值范围:10~720 单位:分钟 默认值:30 |
“30” |
如何查看训练环境变量
在创建训练作业时,“启动命令”输入为“env”,其他参数保持不变。
当训练作业执行完成后,在训练作业详情页面中查看“日志”。日志中即为所有的环境变量信息。

相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨