制作Rec SDK Torch训练镜像
启动容器
#!/bin/bash container_name=$1 image_name=$2 docker run \ -it \ --name ${container_name} \ --shm-size="300g" \ -v /etc/localtime:/etc/localtime \ -e ASCEND_VISIBLE_DEVICES=0-7 \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ ${image_name} \ /bin/bash
安装Rec SDK Torch
- 参考获取Rec SDK Torch软件包获取Rec SDK Torch软件包。
- 将软件包拷贝到容器中。可通过以下方式:
- 按照如下步骤进行编译和安装包。
- 安装Ascend-mindxsdk-torchrec-1.1.0-npu-linux-*.tar.gz
# 安装Ascend-mindxsdk-torchrec-1.1.0-npu-linux-*.tar.gz tar zxvf Ascend-mindxsdk-torchrec-1.1.0-npu-linux-*.tar.gz pip3 install torchrec-1.1.0+npu-py3-none-linux_*.whl
- 安装Ascend-mindxsdk-hybrid-torchrec-1.1.0-linux-*.tar.gz
# 安装Ascend-mindxsdk-hybrid-torchrec-1.1.0-linux-*.tar.gz tar zxvf Ascend-mindxsdk-hybrid-torchrec-1.1.0-linux-*.tar.gz pip3 install hybrid_torchrec-1.1.0-py3-none-linux_*.whl pip3 install torchrec_embcache-1.1.0-py3-none-linux_*.whl
- 安装算子相关包
下载仓库源码https://gitcode.com/Ascend/RecSDK,进入源代码目录,按如下指令进行算子相关包的编译和安装:
# 注:编译算子前,需使能CANN环境变量。默认路径安装CANN包时,使能CANN环境变量指令如下: source /usr/local/Ascend/ascend-toolkit/set_env.sh unset ASCEND_CUSTOM_OPP_PATH cd cust_op/ascendc_op/build # 注:部分算子编译依赖外部组件,请参考build文件夹下README文件下载依赖,否则会编译失败。 # 编译算子包(编译时会自动安装,若仅安装部分,可在其他容器内编译,再拷贝到当前环境安装) bash build_ai_core_op.sh v220 # 可选:安装指定算子包 # 方式1:批量安装算子包。如下指令表示安装非"310p.run/A3.run"结尾的所有算子包,可根据设备环境修改匹配关键字。 find . -name "*.run" ! -name "*310p.run" ! -name "*A3.run" -exec bash {} \; # 方式2:自行选择需要的算子包安装,指令示例: bash mxrec_opp_split_embedding_codegen_forward_unweighted.run # 安装算子适配层 libfbgemm_npu_api.so cd ../../../../framework/torch_plugin/torch_library/2.6.0/common/ bash build_ops.sh安装算子的参数如表1所示。
安装算子后,/usr/local/Ascend/ascend-toolkit/latest/opp/vendors/目录下会生成split_embedding_codegen_forward_unweighted、backward_codegen_adagrad_unweighted_exact、asynchronous_complete_cumsum、permute2d_sparse_data等文件夹。如果没有相关文件夹,请使用unset ASCEND_CUSTOM_OPP_PATH取消环境变量后重新安装算子。
- 安装Ascend-mindxsdk-torchrec-1.1.0-npu-linux-*.tar.gz
父主题: 部署容器内的开发环境