执行模型转换
创建应用工程
- 单击菜单栏“Ascend App > Samples > AscendCL C++”工程类型,单击“Change”配置CANN版本。如图1所示。 ,弹出“New Project”窗口,选择
- 克隆并导入样例工程。
- 选择“AscendCL C++”,单击“Next”,浏览器会跳转至对应的Gitee代码仓界面。
- 在Gitee代码仓页面下单击“克隆/下载 > 复制”,复制代码包下载链接。
- 在开发环境执行命令:git clone URL(其中URL为复制的代码包下载链接),直接将代码包克隆到开发环境。
git clone https://gitee.com/ascend/samples.git
- 回到MindStudio,单击工具栏中的
,选择克隆的工程中~/MindstudioProjects/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification样例打开。
应用工程目录如图2所示。
获取模型并转换模型
- 获取第三方模型文件。
单击Link下载ResNet-50网络的模型文件(*.onnx),单击Link下载ResNet-50网络模型的代码包,并以MindStudio安装用户将获取的文件上传至MindStudio安装服务器解压。
- 转换模型。
需要先按照如下步骤将第三方模型转换为适配昇腾AI处理器的离线模型的离线模型(*.om文件)。
- 单击菜单栏“Model Information”界面中配置模型文件(Model File),界面参考如图3所示。 打开模型转换页面,在
- 单击“Next”,进入“Data Pre-Processing”配置数据预处理页签(FP32无需进行数据预处理),界面参考如图4所示。
- 单击“Next”,进入“Advanced Options Preview”高级选项配置页签,界面参考如图5所示。
专家系统要求在模型转换时在“Additional Argument”下增加如下接口配置:
--debug_dir=${HOME}/MindstudioProjects/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/debug/ # 配置输出的调试信息文件目录,${HOME}为工程所在的家目录,若不存在debug目录则需要手动创建 --op_debug_level=4 # 生成TBE指令映射文件(算子cce文件*.cce),文件在--debug_dir路径下生成的kernel_meta_*目录下,例如:${HOME}/MindstudioProjects/MyApp/debug/kernel_meta_* --enable_small_channel=1 --insert_op_conf=${HOME}/MindstudioProjects/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/model/ResNet50_for_PyTorch_1.4_code/infer/convert/aipp_resnet50.aippconfig # --enable_small_channel与--insert_op_conf配合开启算子融合功能。insert_op_conf指定为ResNet-50网络模型代码包ResNet50_for_PyTorch_1.4_code中的aipp_resnet50.aippconfig文件。
- 单击“Finish”,开始进行模型转换。
在MindStudio界面下方,“Output”窗口会显示模型转换过程中的日志信息,如果提示“Model converted successfully”,则表示模型转换成功。“Output”窗口会显示模型转换所用的命令、所设置的环境变量、模型转换的结果、模型输出路径以及模型转换日志路径等信息。
模型转换完毕,在服务器后台路径(Output Path)下会生成用于运行环境运行的*.om模型文件。
父主题: 专家系统