更新时间:2024-04-30 GMT+08:00

使用基础镜像构建新的训练镜像

ModelArts平台提供了Tensorflow,PyTorch,MindSpore等常用深度学习任务的基础镜像,镜像里已经安装好运行任务所需软件。当基础镜像里的软件无法满足您的程序运行需求时,您可以基于这些基础镜像制作一个新的镜像并进行训练。

基于训练基础镜像构建新镜像的操作步骤

您可以参考如下步骤基于训练基础镜像来构建新镜像。

  1. 安装Docker。如果docker images命令可以执行成功,表示Docker已安装,此步骤可跳过。

    以linux x86_64架构的操作系统为例,获取Docker安装包。您可以使用以下指令安装Docker。

    curl -fsSL get.docker.com -o get-docker.sh
    sh get-docker.sh
  2. 准备名为context的文件夹。
    mkdir -p context
  3. 准备可用的pip源文件pip.conf 。
    [global]
    index-url = https://repo.huaweicloud.com/repository/pypi/simple
    trusted-host = repo.huaweicloud.com
    timeout = 120
  4. 参考如下Dockerfile文件内容来基于ModelArts提供的训练基础镜像来构建一个新镜像。将编写好的Dockerfile文件放置在context文件夹内。训练基础镜像地址请参见训练基础镜像列表
    FROM {ModelArts提供的训练基础镜像地址}
    
    # 配置pip
    RUN mkdir -p /home/ma-user/.pip/
    COPY --chown=ma-user:ma-group pip.conf /home/ma-user/.pip/pip.conf
    
    # 设置容器镜像预置环境变量
    # 将python解释器路径加入到PATH环境变量中
    # 请务必设置PYTHONUNBUFFERED=1, 以免日志丢失
    ENV PATH=${ANACONDA_DIR}/envs/${ENV_NAME}/bin:$PATH \
        PYTHONUNBUFFERED=1
    
    RUN /home/ma-user/anaconda/bin/pip install --no-cache-dir numpy
  5. 构建新镜像。在Dockerfile文件所在的目录执行如下命令构建容器镜像training:v1。
    docker build . -t training:v1
  6. 将构建好的新镜像上传至SWR(参考如何登录并上传镜像到SWR)。
  7. 参考使用自定义镜像创建训练作业(CPU/GPU)章节在ModelArts上使用。