当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
50 Star 111 Fork 84

Ascend/RecSDK
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
build
cust_op
docs
examples
DCNv2
WideDeep
demo
little_demo
deterministic_loss
README.md
config.py
dataset.py
main.py
model.py
op_impl_mode.ini
optimizer.py
random_data_generator.py
run.sh
run_deterministic.sh
run_mode.py
utils.py
little_demo_estimator
README.md
dlrm
mmoe
ps_adapt_to_mxrec
rec_infer
xDeepFM
mx_rec
src
tests
third_party
tools
.clang-format
.gitignore
.gitmodules
CMakeLists.txt
LICENSE
README.md
build.sh
config.ini
dependency.xml
setup.py
setup_tf1.py
setup_tf2.py
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

sess.run模式下demo模型运行说明

代码结构

.
├── config.py                 # 模型配置文件
├── dataset.py                # 生成数据集的脚本
├── deterministic_loss        # 确定性计算loss样例
├── main.py                   # 主函数
├── model.py                  # demo模型
├── op_impl_mode.ini          # 算子执行模式配置
├── optimizer.py              # 优化器
├── random_data_generator.py  # 数据生成器
├── README.md                 # demo模型运行说明
├── run_deterministic.sh      # 运行确定性计算的脚本
├── run_mode.py               # 执行模型train、evaluate和predict的脚本
└── run.sh                    # demo运行脚本

1.准备数据

demo样例无需从其他地方下载数据集,在demo样例中Rec SDK会自动生成数据集,详情见dataset.py和random_data_generator.py。

2.准备运行环境

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

3.安装Rec SDK

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

.
├── cust_op
│   └── cust_op_by_addr
├── examples
│   ├── DCNv2
│   ├── demo
│   └── dlrm
├── tf1_whl
│   └── mx_rec-{version}-py3-none-linux_x86_64.whl  # version为版本号
├── tf2_whl
│   └── mx_rec-{version}-py3-none-linux_x86_64.whl  # version为版本号
└── version.info

其中,tf1_whl和tf2_whl目录下分别是适配tf1和tf2的Rec SDK软件包,按照自己需要选择其中一个进行安装即可(用pip/pip3 install 软件包这种方式进行安装)。 确认安装Rec SDK的目录,比如Rec SDK安装在 /usr/local/python3.7.5/lib/python3.7/site-packages/mx_rec这个目录下。

4.运行demo模型

执行完以上步骤之后,接下来就可以运行demo模型,其中run.sh就是运行的脚本,默认是8张卡。其中需要传入ip这个参数,运行命令如:

bash run.sh main.py {ip}
  • ip:ip是运行模型的机器所在的ip。

Tips:run.sh脚本中有一个参数是rec_package_path,rec_package_path是Rec SDK的安装目录,比如:/usr/local/python3.7.5/lib/python3.7/site-packages/mx_rec。 这个参数在脚本是默认的,用户需要根据自己环境中Rec SDK实际安装的路径进行配置。

5.开启精度对齐模式

在run.sh脚本中将 PRECISION_CHECK设置为1为开启精度对齐功能

############## 精度对齐相关 ##############
export PRECISION_CHECK=1

精度对齐开启后将会在run.sh同级脚本生成一个 precision_check的数据文件, 结构如下

precision_check
└── 20240807_091347
    ├── 01dump_dataset # 数据集数据
    ├── 02dump_model # dense sparse 落盘模型
    ├── 03dump_loss # 每步loss
    ├── 04dump_op # 查表 更新表相关数据
    └── dump_info.json # 模型配置信息

开关开启后暂只支持DUMP第1.2步数据 在默认配置下,可使用RecSDK/tools下的precrec-python精度工具来一键解析比较 precrec-python如何使用可以参照其中指导手册 也可自行修改代码 dump其他数据

限制(2024-0807): 精度对齐暂不支持一表多查、准入淘汰 CACHE_MODE暂只支持 HBM DDR 其他已有功能可进行组合适配

新功能请联系开发咨询是否支持,若不支持请提需求适配

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/ascend/RecSDK.git
git@gitee.com:ascend/RecSDK.git
ascend
RecSDK
RecSDK
branch_v6.0.0-RC3

搜索帮助