华为云AI开发平台ModelArtsStep1 制作自定义镜像_云淘科技

本节描述通过加载镜像构建模板并编写Dockerfile,构建出一个新镜像。如下的步骤都需要在“开发环境 > Notebook”的Terminal中完成,请提前创建好开发环境并打开Terminal。关于Dockerfile的具体编写方法,请参考官网。

首先配置鉴权信息,指定profile,根据提示输入帐号、用户名及密码。鉴权更多信息请查看配置登录信息。

ma-cli configure --auth PWD -P xxx

执行env|grep -i CURRENT_IMAGE_NAME命令查询当前实例所使用的镜像。

制作新镜像。

获取上步查询的基础镜像的SWR地址。

CURRENT_IMAGE_NAME=swr.cn-north-4.myhuaweicloud.com/atelier/mindspore_1_7_0:mindspore_1.7.0-cann_5.1.0-py_3.7-euler_2.8.3-aarch64-d910-20220906

加载镜像构建模板。

执行ma-cli image get-template命令查询镜像模板。

然后执行ma-cli image add-template命令将镜像模板加载到指定文件夹下,默认路径为当前命令所在的路径。例如:加载upgrade_ascend_mindspore_1.8.1_and_cann_5.1.RC2镜像构建模板。

ma-cli image add-template upgrade_ascend_mindspore_1.8.1_and_cann_5.1.RC2

修改Dockerfile。

本例的Dockerfile将基于MindSpore基础镜像mindspore1.7.0-cann5.1.0-py3.7-euler2.8.3,升级到cann 5.1.RC2和MindSpore1.8.1,构建一个面向AI任务的镜像。

加载镜像模板后,Dockerfile文件自动加载,在“.ma/upgrade_ascend_mindspore_1.8.1_and_cann_5.1.RC2”路径下,内容参考如下,根据实际需求修改:

#The following uses Mindspore-1.7 as an example, which can be replaced with the current notebook image.(请替换成当前Notebook使用的镜像)
FROM swr.cn-north-4.myhuaweicloud.com/atelier/mindspore_1_7_0:mindspore_1.7.0-cann_5.1.0-py_3.7-euler_2.8.3-aarch64-d910-20220715093657-9446c6a

ARG CANN=Ascend-cann-toolkit_5.1.RC2_linux-aarch64.run

# Set proxy to download internet resources(根据实际修改Notebook代理)
ENV HTTP_PROXY=http://proxy.modelarts.com:80 \
    http_proxy=http://proxy.modelarts.com:80 \
    HTTPS_PROXY=http://proxy.modelarts.com:80 \
    https_proxy=http://proxy.modelarts.com:80

USER root

# Download CANN-5.1.RC2 and install CANN package, which is a dependency package for mindspore-1.8.1.
# For details about the mapping between Mindpore and CANN and the download address of CANN, see the official website of Mindpore.
RUN wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%205.1.RC2/${CANN} -P /tmp && \
    chmod +x /tmp/${CANN} && \
    sh -x /tmp/${CANN} --quiet --full && \
    rm -f /tmp/${CANN}

ENV PYTHONPATH=/usr/local/Ascend/tfplugin/latest/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe:/usr/local/seccomponent/lib

USER ma-user

# Update mindspore version in "MindSpore" conda env by using pip.
RUN source /home/ma-user/anaconda3/bin/activate MindSpore && \
    pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.8.1/MindSpore/ascend/aarch64/mindspore_ascend-1.8.1-cp37-cp37m-linux_aarch64.whl --upgrade && \
    echo "successfully install mindspore 1.8.1"

## [Optional] Uncomment to set default conda env
#ENV DEFAULT_CONDA_ENV_NAME=/home/ma-user/anaconda3/envs/MindSpore

如果使用的基础镜像不是ModelArts提供的公共镜像,需要在Dockerfile文件中添加ModelArts指定的用户和用户组,具体可参考Dockerfile文件(基础镜像为非ModelArts提供)。

构建镜像

使用ma-cli image build命令从Dockerfile构建出一个新镜像。命令更多信息请参考镜像构建命令。

ma-cli image build .ma/upgrade_ascend_mindspore_1.8.1_and_cann_5.1.RC2/Dockerfile -swr notebook-test/my_image:0.0.1 -P XXX

其中“.ma/upgrade_ascend_mindspore_1.8.1_and_cann_5.1.RC2/Dockerfile”为Dockerfile文件所在路径,“notebook-test/my_image:0.0.1”为构建的新镜像的SWR路径。“XXX”为鉴权时指定的profile。

父主题: 在Notebook中构建自定义镜像并使用

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家