本样例为IR模型构建样例,支持通过以下几种方式构建Graph,并生成适配昇腾AI处理器的离线模型,用户可任选其一。
├── src
│ ├──main.cpp //实现文件
├── Makefile //编译脚本
├── CMakeLists.txt //编译脚本
├── data
│ ├──data_generate.py // 通过算子原型构建Graph时,用于生成Graph所需要的数据信息,例如权重、偏置等数据
│ ├──tensorflow_generate.py // 将TensorFlow原始模型解析为Graph时,用于生成.pb格式的TensorFlow模型
│ ├──caffe_generate.py // 将Caffe原始模型解析为Graph时,用于生成.pbtxt格式的Caffe模型与.caffemodel格式的权重文件
├── scripts
│ ├──host_version.conf // version配置
│ ├──testcase_300.sh // Atlas300测试脚本
如果用户需要通过算子原型构建Graph,请执行以下操作准备构图数据:
如果用户需要将TensorFlow原始模型解析为Graph,请执行以下操作准备构图数据:
如果用户需要将Caffe原始模型解析为Graph,请执行以下操作准备构图数据:
根据实际情况修改Makefile文件中的如下信息。
ASCEND_PATH:指定到ATC或FwkACLlib的安装目录,例如/home/HwHiAiUser/Ascend/ascend-toolkit/latest
INCLUDES:需要包含的头文件,对于本示例,无需修改。如果是用户自行开发的代码,当需要添加头文件时,在示例下方直接增加行即可,注意不要删除原有项目。如果网络中有自定义算子,请增加自定义算子的原型定义头文件。
LIBS:需要链接的库,对于本示例,无需修改。如果是用户自行开发的代码,当需要添加链接库时,在示例下方直接增加行即可,注意不要删除原有项目。
禁止链接软件包中的其他so,否则后续升级可能会导致兼容性问题。
执行如下命令进行编译。
依次执行make clean和make ir_build。
编译结束后,在out目录下生成可执行文件ir_build。
配置环境变量。
若运行环境上安装的“Ascend-cann-toolkit”包,环境变量设置如下:
. ${HOME}/Ascend/ascend-toolkit/set_env.sh
若运行环境上安装的“Ascend-cann-nnrt”包,环境变量设置如下:
. ${HOME}/Ascend/nnrt/set_env.sh
若运行环境上安装的“Ascend-cann-nnae”包,环境变量设置如下:
. ${HOME}/Ascend/nnae/set_env.sh
“$HOME/Ascend”请替换相关软件包的实际安装路径。
在out目录下执行可执行文件。
如果用户采用算子原型构图方式,请执行如下命令:
./ir_build ${soc_version} gen
socversion:昇腾AI处理器的版本,可以从{ASCEND_PATH}/atc/data/platform_config查看ini文件名,文件名即为对应版本,如果仍然无法确定具体使用的版本号,可以通过如下方法查询:
编译成功提示:
========== Generate Graph1 Success!==========
Build Model1 SUCCESS!
Save Offline Model1 SUCCESS!
如果用户采用将TensorFlow原始模型解析为Graph的构图方式,请执行如下命令:
./ir_build ${soc_version} tf
编译成功提示:
========== Generate graph from tensorflow origin model success.==========
Modify Graph Start.
Find src node: const.
Find dst node: add.
Modify Graph Success.
========== Modify tensorflow origin graph success.==========
Build Model1 SUCCESS!
Save Offline Model1 SUCCESS!
如果用户采用将Caffe原始模型解析为Graph的构图方式,请执行如下命令:
./ir_build ${soc_version} caffe
编译成功提示:
========== Generate graph from caffe origin model success.==========
Build Model1 SUCCESS!
Save Offline Model1 SUCCESS!
检查执行结果。
在out目录下生成离线模型文件。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。