制作Rec SDK TensorFlow训练镜像

0 阅读1分钟

​前提条件

  1. 已经参考安装依赖,在物理机上安装对应CANN版本的驱动和固件。
  2. 物理机上已经安装Docker,并且Docker网络可用。
  3. 准备基础镜像。可以从昇腾镜像仓库获取基础镜像,或者使用用户已有的基础镜像。
    • (推荐)从昇腾镜像仓库获取Rec SDK TensorFlow训练镜像。昇腾镜像仓库上的Rec SDK TensorFlow训练镜像中已经安装gcc、cmake等基础依赖,无需再次安装;只需更新其中的CANN和Rec SDK软件包即可使用。
    • 从昇腾镜像仓库获取CentOS 7.6.1810镜像。如果不从昇腾镜像仓库获取基础镜像,用户自己准备一个镜像作为基础镜像,建议以CentOS 7.6.1810镜像为基础。
  4. 执行如下命令,将基础镜像加载到docker中。
docker load --input xxx.tar
  1. 创建一个制作镜像使用的文件夹(以build_images为例)。
    1. 仅将制作镜像过程中要使用到的文件放至该文件夹中,如对应架构的Ascend-cann-toolkit_*.run、Ascend-cann-tfplugin_*.run、Rec SDK软件包。
    2. 若需安装Ascend-cann-tfplugin_*.run包,还需将/usr/local/Ascend/driver/version.info和/etc/ascend_install.info两个文件拷贝到build_images目录下。
    3. (请勿在build_images目录下放入无关文件,制作镜像时会将该目录下文件拷贝到镜像内。)
  2. 制作镜像过程中需使用docker指令及从物理机拷贝文件,请确保用户有执行指令和访问文件权限。
使用Rec SDK TensorFlow基础镜像制作训练镜像
  1. 参考获取Rec SDK TensorFlow软件包,获取Rec SDK软件包,以及配套的CANN软件包和TensorFlow适配昇腾插件。

  2. 在build_images目录下创建Dockerfile配置文件(以Dockerfile名称为例),使用vi Dockerfile命令编辑文件,插入如下内容。

    请根据实际情况修改基础镜像名称及镜像tag

    FROM rec_sdk-tf1:7.0.RC1

    CANN相关参数

    ARG TOOLKIT_PKG=Ascend-cann-toolkit*.run ARG TFPLUGIN_PKG=Ascend-cann-tfplugin*.run

    Rec SDK TensorFlow包

    ARG REC_SDK_PKG=Ascend-mindxsdk-mxrec*.tar.gz

    设置安装路径环境变量

    ARG ASCEND_BASE=/usr/local/Ascend

    删除旧的CANN

    RUN rm -rf $ASCEND_BASE/ascend-toolkit

    请根据实际情况选择安装需要拷贝和安装的依赖,若无需执行可将指令行删除

    WORKDIR /tmp COPY TOOLKITPKG.COPYTOOLKIT_PKG . COPY TFPLUGIN_PKG . COPY $REC_SDK_PKG . COPY version.info . COPY ascend_install.info .

    安装ascend-toolkit和tfplugin

    RUN mkdir -p ASCEND_BASE/driver && cp version.info ASCEND_BASE/driver/ && cp ascend_install.info /etc/ RUN umask 0022 &&
    echo Y | bash TOOLKITPKGquietinstallinstallpath=TOOLKIT_PKG --quiet --install --install-path=ASCEND_BASE &&
    source ASCEND_BASE/ascend-toolkit/set_env.sh && \ echo Y | bash TFPLUGIN_PKG --quiet --install --install-for-all &&
    source ASCEND_BASE/tfplugin/set_env.sh && \ rm -f ./TFPLUGIN_PKG &&
    rm -rf /root/.cache/pip &&
    rm -f $TOOLKIT_PKG

    安装Rec SDK TensorFlow,以安装tf1版本为例。(如需安装tf2版本Rec SDK包,将tf1修改为tf2即可)

    ARG SDK_TF_VERSION=tf1 RUN tar -zxvf Ascend-mindxsdk-mxrec*.tar.gz &&
    pip3 install mindxsdk-mxrec/${SDK_TF_VERSION}_whl/mx_rec-*.whl --force-reinstall

  1. 进入build_images路径,执行如下指令构建Rec SDK TensorFlow镜像。
docker build -t {镜像名称}:{镜像tag} -f Dockerfile .