文档首页 > > AI工程师用户指南> 使用自定义镜像> 用于训练模型> 训练作业自定义镜像规范

训练作业自定义镜像规范

分享
更新时间:2021/01/12 GMT+08:00

针对您本地开发的模型及训练脚本,在制作镜像时,需满足ModelArts定义的规范。

规范要求

  • 自定义镜像中不能包含恶意代码。
  • 基础镜像中的部分内容不能改变,包括“/bin”“/sbin”“/usr”“/lib(64)”下的所有文件,“/etc”下的部分重要配置文件,以及“$HOME”下的ModelArts小工具。
  • 不可以新增属主为“root”且权限包含“setuid”“setgid”位的文件。
  • 自定义镜像大小不能超过9.5GB。
  • 日志文件输出,为保证日志内容可以正常显示,日志信息需要打印到标准输出。

基础镜像包

为了方便用户实现代码下载、训练日志输出、上传日志文件至OBS等功能,ModelArts提供基础镜像包用于自定义镜像的制作。ModelArts提供的基础镜像有以下特点:

  • 基础镜像中有一些必要的工具,用户需要基于ModelArts官方提供的基础镜像来制作自定义镜像。
  • ModelArts将持续更新基础镜像版本,基础镜像更新后,对于兼容性更新,用户还可以继续使用旧的镜像;对于不兼容性更新,基于旧版本制作的自定义镜像将不能在ModelArts上运行,但已经审核过的自定义镜像可以继续使用。
  • 当用户发现自定义镜像审核不通过,并且审核日志中出现基础镜像不匹配的错误信息时,需要使用新的基础镜像重新制作镜像。
  • 基础镜像包含的组件、工具如表1表2所示,完整的基础镜像内容可参考Dockerfile
表1 组件列表

名称

说明

run_train.sh

训练启动引导脚本。实现了代码目录下载,执行训练命令、重定向训练日志输出、以及训练命令结束后上传日志文件至OBS的功能。

表2 工具列表

工具名称

说明

utils.sh

工具脚本。“run_train.sh”脚本依赖此脚本。

提供了SK解密,代码目录下载,日志文件上传等方法。

ip_mapper.py

网卡地址获取脚本。

默认获取ib0网卡地址IP,训练代码可以使用ib0网卡的IP加速网络通信。

dls-downloader.py

OBS下载脚本。“utils.sh”脚本依赖此脚本。

ModelArts提供的基础镜像名称格式如下:

  • cuda8/9/92版本的镜像
    swr.<region>.myhuaweicloud.com/<image org>/custom-<processor type>-<cuda version>-base:<image tag>

    参数

    支持的值

    说明

    <region>

    • cn-north-1
    • cn-north-4

    镜像所在的区域。支持的值中,分别表示:

    • 北京一
    • 北京四

    <image org>

    modelarts-job-dev-image

    镜像所属组织。使用“modelarts-job-dev-image”

    <processor type>

    • cpu
    • gpu

    处理器类型。

    <cuda version>

    • cuda92
    • cuda9
    • cuda8

    镜像中已安装的CUDA版本。

    在cuda10之前的版本中,只有当<processor type>为gpu时,<cuda version>才会生效。

    说明:

    请您确认对应的CUDA版本,版本指定之后不支持更换, 否则会导致训练失败。

    <image tag>

    • 1.0
    • 1.1
    • 1.2
    • 1.3

    镜像版本。

  • cuda8/9/92版本的镜像,默认预装Moxing
    swr.<region>.myhuaweicloud.com/<image org>/custom-<processor type>-<cuda version>-inner-moxing-<python version>:<image tag>

    参数

    支持的值

    说明

    <region>

    • cn-north-1
    • cn-north-4

    镜像所在的区域。支持的值中,分别表示:

    • 北京一
    • 北京四

    <image org>

    modelarts-job-dev-image

    镜像所属组织。使用“modelarts-job-dev-image”

    <processor type>

    • cpu
    • gpu

    处理器类型。

    <cuda version>

    • cuda92
    • cuda9
    • cuda8

    镜像中已安装的CUDA版本。

    在cuda10之前的版本中,只有当<processor type>为gpu时,<cuda version>才会生效。

    说明:

    请您确认对应的CUDA版本,版本指定之后不支持更换, 否则会导致训练失败。

    python version

    • cp27
    • cp36

    python 环境。

    <image tag>

    1.3

    镜像版本。

  • cuda10.0/10.1/10.2版本的镜像,以ubuntu18.04为基础镜像默认预装moxing
    swr.<region>.myhuaweicloud.com/<image org>/custom-base-<cuda version>-<python version>-<os>-<arch>:<image tag>

    参数

    支持的值

    说明

    <region>

    • cn-north-1
    • cn-north-4

    镜像所在的区域。支持的值中,分别表示:

    • 北京一
    • 北京四

    <image org>

    modelarts-job-dev-image

    镜像所属组织。使用“modelarts-job-dev-image”

    <cuda version>

    • cuda10.0
    • cuda10.1
    • cuda10.2

    镜像中已安装的CUDA版本。

    说明:

    请您确认对应的CUDA版本,版本指定之后不支持更换, 否则会导致训练失败。

    python version

    cp36

    python3.6 环境

    os

    ubuntu18.04

    操作系统。

    arch

    x86

    架构。

    <image tag>

    1.1

    镜像版本。

例如,在“华北-北京一”区域,ModelArts支持的基础镜像列表如下,您可根据个人需求选择相应的镜像。

cuda10之前的版本:

  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-cpu-base:1.3
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-gpu-cuda92-base:1.3
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-gpu-cuda9-base:1.3
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-gpu-cuda8-base:1.3
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-gpu-cuda9-inner-moxing-cp36:1.3
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-gpu-cuda8-inner-moxing-cp27:1.3
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-gpu-cuda9-inner-moxing-cp27:1.3
  • ...

cuda10之后的版本:

  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-base-cuda10.0-cp36-ubuntu18.04-x86:1.1
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-base-cuda10.1-cp36-ubuntu18.04-x86:1.1
  • swr.cn-north-1.myhuaweicloud.com/modelarts-job-dev-image/custom-base-cuda10.2-cp36-ubuntu18.04-x86:1.1

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问