DCNv2模型运行说明

代码结构

.
├── config.py  # 模型配置文件
├── delay_loss_scale.py  # loss缩放函数
├── demo_logger.py    # 定义logger
├── main_mxrec.py     # 主函数
├── model.py          # DCNv2模型
├── op_impl_mode.ini  # 算子执行模式配置
├── optimizer.py      # 优化器
├── README.md         # DCNv2模型运行说明
└── run.sh            # 运行DCNv2模型的脚本

1.准备数据

参考DLRM模型中criteo_tb目录下的说明文档准备好模型所需要的数据集,放在一个目录下,比如:/data/criteo_tb/。

2.准备运行环境

运行环境可以参考Rec SDK用户指南 “安装部署”章节进行准备。

3.安装Rec SDK

Rec SDK软件包可以通过Rec SDK用户指南 “安装部署”>“环境准备”>“获取软件包”章节提供的链接进行下载,选择自己需要的架构(x86或者arm)的Rec SDK包。下载完成之后,将Rec SDK包解压,进入解压后的目录(mindxsdk-mxrec) 如下:

.
├── tf1_whl
    └── rec_sdk_common-{version}-py3-none-linux_x86_64.whl  # version为版本号
│   └── mx_rec-{version}-py3-none-linux_x86_64.whl  # version为版本号
├── tf2_whl
    └── rec_sdk_common-{version}-py3-none-linux_x86_64.whl  # version为版本号
│   └── mx_rec-{version}-py3-none-linux_x86_64.whl  # version为版本号
└── version.info

其中,tf1_whl和tf2_whl目录下分别是适配tensorflow1.15.0和tensorflow2.6.5的Rec SDK软件包,运行DCNv2模型需安装tf1目录下的软件包(用pip/pip3 install 软件包这种方式进行安装)。 确认安装Rec SDK的目录,比如Rec SDK安装在 /usr/local/python3.7.5/lib/python3.7/site-packages/mx_rec和rec_sdk_common目录下。

4.运行DCNv2模型

执行完以上步骤之后,接下来就可以运行DCNv2模型,其中run.sh就是运行的脚本,默认是8张卡。其中需要传入5个参数,分别对应:so_path、rec_package_path、hccl_cfg_json、 dlrm_criteo_data_path和ip。运行命令如:

bash run.sh {so_path} {rec_package_path} {hccl_cfg_json} {dlrm_criteo_data_path} {ip}
  • so_path:so_path是Rec SDK中动态库的目录,一般在Rec SDK的安装目录下的libasc目录,比如:/usr/local/python3.7.5/lib/python3.7/site-packages/mx_rec/libasc。
  • rec_package_path:rec_package_path是Rec SDK的安装目录,比如:/usr/local/python3.7.5/lib/python3.7/site-packages/mx_rec。
  • hccl_cfg_json:hccl_cfg_json是hccl通信配置文件,如果配置了ip参数,这个参数就不用了,直接给一个""空字符串即可。
  • dlrm_criteo_data_path:dlrm_criteo_data_path是数据集所在的目录,比如/data/criteo_tb/。
  • ip:ip是运行模型的机器所在的ip,建议配置。