1.以root用户登录服务器。
2.构建镜像ascendbase-infer。
a.进入Dockerfile所在路径(请根据实际路径修改)。
cd ascendbase-infer/{os}-{arch}
其中{os}表示容器镜像操作系统版本,{arch}表示架构,请根据实际情况替换。
b.请在当前目录准备以下文件
表2 所需文件
注意不要遗漏命令结尾的“.”,命令解释如表3所示。
如需在此步骤配置系统网络代理,命令参考如下:
docker build -t ascendbase-infer:base_TAG --build-arg http_proxy=http://proxyserverip:port --build-arg https_proxy=http://proxyserverip:port .
其中proxyserverip为代理服务器的ip地址,port为端口。
表3 命令参数说明
当出现“Successfully built xxx”表示镜像构建成功。
4.基于镜像ascendbase-infer,构建镜像ascend-infer。
a.进入Dockerfile所在路径(请根据实际路径修改)。
cd ascend-infer
b.请在当前目录准备以下软件包和相关文件。
表4 所需软件或文件
软件或文件
c.在当前目录执行以下命令构建镜像ascend-infer。
docker build -t ascend-infer:infer_TAG --build-arg BASE_VERSION=base_TAG --build-arg .
注意不要遗漏命令结尾的“.”命令解释如表5所示。
表5 命令参数说明
ascend-infer:infer_TAG
镜像名称与标签,建议将infer_TAG命名为“软件包版本-容器OS-架构”(例如“20.2.rc1-ubuntu18.04-arm64”)。
--build-arg
指定dockerfile文件内的参数。
BASE_VERSION
base_TAG为3.c中设置的镜像标签。
当出现“Successfully built xxx”表示镜像构建成功。
5.构建完成后,执行以下命令查看镜像信息。
docker images
本文档基于镜像树结构来构建容器镜像,具有可扩展性。
训练镜像树示意图如图2所示。
图2 训练镜像树示意图
表6 昇腾基础镜像树说明
容器场景,需用户自行安装docker(版本要求大于等于18.03)。
容器OS镜像可从Docker Hub拉取。
由于 Docker Hub 中不存在 openeuler 20.03 的镜像,如果需要可参考以下网址自行获取:
aarch64:http://repo.openeuler.org/openEuler-20.03-LTS-SP2/docker_img/aarch64/
x86_64:http://repo.openeuler.org/openEuler-20.03-LTS-SP2/docker_img/x86_64/
宿主机已安装驱动和固件,详情请参见《CANN 软件安装指南》。
1.以root用户登录服务器。
2.构建镜像ascendbase-toolkit。
a.进入Dockerfile所在路径(请根据实际路径修改)。
cd ascendbase-toolkit/{os}-{arch}
其中{os}表示容器镜像操作系统版本,{arch}表示架构,请根据实际情况替换。
b.请在当前目录准备以下文件。
表7 所需文件
docker build -t ascendbase-toolkit:base_TAG .
注意不要遗漏命令结尾的“.”,命令解释如表8所示。构建镜像时,如果在pip安装python依赖包时出现超时或证书错误,请修改Dockerfile更换pip源。
如需在此步骤配置系统网络代理,命令参考如下:
docker build -t ascendbase-toolkit:base_TAG --build-arg http_proxy=http://proxyserverip:port --build-arg https_proxy=http://proxyserverip:port .
其中proxyserverip为代理服务器的ip地址,port为端口。
表8 命令参数说明
当出现“Successfully built xxx”表示镜像构建成功。
3.基于镜像ascendbase-toolkit,构建镜像ascend-toolkit。
a.进入Dockerfile所在路径(请根据实际路径修改)。
cd ascend-toolkit
请在当前目录准备以下软件包和相关文件。
表9 所需软件或文件
软件或文件
Ascend-cann-toolkit_{version}_linux-{arch}.run
深度学习加速引擎包。其中{version}表示软件包版本,{arch}表示架构。
Dockerfile
制作镜像需要。
已存在于当前目录。用户可根据实际需要自行定制。
c.在当前目录执行以下命令构建镜像ascend-toolkit。
x86_64: docker build -t ascend-toolkit:toolkit_TAG --build-arg BASE_VERSION=base_TAG .
aarch64: docker build -t ascend-toolkit:toolkit_TAG --build-arg BASE_VERSION=base_TAG -f Dockerfile_aarch64 .
注意不要遗漏命令结尾的“.”,命令解释如表4-5所示。
表10 命令参数说明
ascend-toolkit:toolkit_TAG
镜像名称与标签,建议将toolkit_TAG命名为“软件包版本-容器OS-架构”(例如“20.2.rc1-ubuntu18.04-arm64”)。
--build-arg
指定dockerfile文件内的参数。
BASE_VERSION
base_TAG为3.c中设置的镜像标签。
当出现“Successfully built xxx”表示镜像构建成功。
4.基于镜像ascend-toolkit,构建镜像ascend-tensorflow。
a.进入Dockerfile所在路径(请根据实际路径修改)。
cd ascend-tensorflow
b.请在当前目录准备以下软件包和相关文件。
表11 所需软件或文件
软件或文件
c.在当前目录执行以下命令构建镜像ascend-tensorflow。
docker build -t ascend-tensorflow:tensorflow_TAG --build-arg BASE_VERSION=toolkit_TAG .
注意不要遗漏命令结尾的“.”,命令解释如表12所示
如需在此步骤配置系统网络代理,命令参考如下:
docker build -t ascend-tensorflow:tensorflow_TAG --build-arg BASE_VERSION=toolkit_TAG --build-arg http_proxy=http://proxyserverip:port --build-arg https_proxy=http://proxyserverip:port .
其中proxyserverip为代理服务器的ip地址,port为端口。
表12 命令参数说明
ascend-tensorflow:tensorflow_TAG
镜像名称与标签,建议将tensorflow_TAG命名为“软件包版本-容器OS-架构”(例如“20.2.rc1-ubuntu18.04-arm64”)。
--build-arg
指定dockerfile文件内的参数。
BASE_VERSION
toolkit_TAG为4.c中设置的镜像标签。
当出现“Successfully built xxx”表示镜像构建成功。
5.构建完成后,执行以下命令查看镜像信息。
docker images
ubuntu.com
gcc.gnu.org
myhuaweicloud.com
pypi.doubanio.com
bootstrap.pypa.io
repo.huaweicloud.com
mirrors.huaweicloud.com
pypi.mirrors.ustc.edu.cn
mirrors.tuna.tsinghua.edu.cn
如果下载系统依赖时官方源太慢的话,可以自行设置其他源。
如果pip官方源太慢的话,可以自行设置其他源。