昇腾社区首页
中文
注册

执行模型转换

创建应用工程

  1. 单击菜单栏File > New > Project...,弹出“New Project”窗口,选择“Ascend App > Samples > AscendCL C++”工程类型,单击“Change”配置CANN版本。如图1所示。
    图1 创建工程
    • CANN Version:CANN软件包版本,如未识别或想要更换使用的版本,可单击“Change”,在弹出界面中选择Ascend-cann-toolkit开发套件包的安装路径(注意需选择到版本号或者latest一级)。
    • Samples:样例工程,选择“AscendCL C++”
  2. 克隆并导入样例工程。
    1. 选择“AscendCL C++”,单击“Next”,浏览器会跳转至对应的Gitee代码仓界面。
    2. 在Gitee代码仓页面下单击“克隆/下载 > 复制”,复制代码包下载链接。
    3. 在开发环境执行命令:git clone URL(其中URL为复制的代码包下载链接),直接将代码包克隆到开发环境。
      git clone https://gitee.com/ascend/samples.git
    4. 回到MindStudio,单击工具栏中的,选择克隆的工程中~/MindstudioProjects/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification样例打开。

      应用工程目录如图2所示。

      图2 应用工程目录

获取模型并转换模型

  1. 获取第三方模型文件。

    单击Link下载ResNet-50网络的模型文件(*.onnx),单击Link下载ResNet-50网络模型的代码包,并以MindStudio安装用户将获取的文件上传至MindStudio安装服务器解压。

  2. 转换模型。

    需要先按照如下步骤将第三方模型转换为适配昇腾AI处理器的离线模型的离线模型(*.om文件)。

    1. 单击菜单栏Ascend > Model Converter打开模型转换页面,在“Model Information”界面中配置模型文件(Model File),界面参考如图3所示。
      图3 配置模型信息
    2. 单击“Next”,进入“Data Pre-Processing”配置数据预处理页签(FP32无需进行数据预处理),界面参考如图4所示。
      图4 配置数据预处理功能
    3. 单击“Next”,进入“Advanced Options Preview”高级选项配置页签,界面参考如图5所示。
      图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文件。
    4. 单击“Finish”,开始进行模型转换。

      在MindStudio界面下方,“Output”窗口会显示模型转换过程中的日志信息,如果提示“Model converted successfully”,则表示模型转换成功。“Output”窗口会显示模型转换所用的命令、所设置的环境变量、模型转换的结果、模型输出路径以及模型转换日志路径等信息。

      模型转换完毕,在服务器后台路径(Output Path)下会生成用于运行环境运行的*.om模型文件。