昇腾社区首页
中文
注册

执行模型转换

创建应用工程

  1. 单击菜单栏File > New > Project...,弹出“New Project”窗口,选择“Ascend App > Samples > ACL ResNet-50(C++)”工程类型,单击“Change”配置CANN版本。如图1所示。
    图1 创建工程
    • CANN Version:CANN软件包版本,如未识别或想要更换使用的版本,可单击“Change”,在弹出界面中选择Ascend-cann-toolkit开发套件包的安装路径(注意需选择到版本号或者latest一级)。
    • Samples:样例工程,选择“ACL ResNet-50(C++)”
  2. 单击“Next”进入配置工程相关参数界面,配置工程名称和目录。如图2所示。
    图2 配置工程相关参数
    • Project name:工程名称,可自定义。
    • Project location:工程目录,默认在“$HOME/MindstudioProjects”下创建。
  3. 单击“Finish”,完成工程创建。

    生成应用工程目录如图3所示。

    图3 应用工程目录

获取模型并转换模型

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

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

  2. 转换模型。

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

    1. 单击菜单栏Ascend > Model Converter打开模型转换页面,在“Model Information”界面中配置模型文件(Model File),界面参考如图4所示,不同版本请以实际界面显示为准。
      图4 配置模型信息
    2. 单击“Next”,进入“Data Pre-Processing”配置数据预处理页签(FP32无需进行数据预处理),界面参考如图5所示。
      图5 配置数据预处理功能
    3. 单击“Next”,进入“Advanced Options Preview”高级选项配置页签,界面参考如图6所示。
      图6 高级选项配置

      专家系统要求在模型转换时在“Additional Argument”下增加如下接口配置:

      --debug_dir=${HOME}/MindstudioProjects/MyApp/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/resnet50/model/ResNet50_for_PyTorch_1.4_code/infer/convert/aipp_resnet50.aippconfig
      # --enable_small_channel与--insert_op_conf配合开启算子融合功能。其中aipp_resnet50.aippconfig可以通过ModelZoo网站resnet50模型页面单击“下载模型脚本”获取
    4. 单击“Finish”,开始进行模型转换。

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

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