文档
注册

模型构建

对于开源框架的网络模型(如Caffe、TensorFlow等),不能直接在昇腾AI处理器上做推理,需要先使用ATC(Ascend Tensor Compiler)工具将开源框架的网络模型转换为适配昇腾AI处理器的离线模型(*.om文件)。

此处以Caffe框架的ResNet-50网络为例,说明如何使用ATC工具进行模型转换,详细说明请参见ATC工具使用指南

  1. 获取Caffe网络模型。

    您可以从以下链接中获取ResNet-50网络的模型文件(*.prototxt)、权重文件(*.caffemodel),并以CANN软件包运行用户将获取的文件上传至开发环境任意目录,例如上传到$HOME/module/目录下。

    • ResNet-50网络的模型文件(*.prototxt):单击Link下载该文件。
    • ResNet-50网络的权重文件(*.caffemodel):单击Link下载该文件。
  2. 执行如下命令生成离线模型。(如下命令中使用的目录以及文件均为样例,请以实际为准)
    atc --model=$HOME/module/resnet50.prototxt --weight=$HOME/module/resnet50.caffemodel --framework=0 --output=$HOME/module/out/caffe_resnet50 --soc_version=<soc_version>  

    关键参数的解释如下:

    • --model:ResNet-50网络的模型文件(*.prototxt)的路径。
    • --weight:ResNet-50网络的权重文件(*.caffemodel)的路径。
    • --framework:原始框架类型。0表示Caffe。
    • --output:resnet50.om模型文件的路径。请注意,记录保存该om模型文件的路径,后续开发应用时需要使用。
    • --soc_version:昇腾AI处理器的版本。

      进入“CANN软件安装目录/compiler/data/platform_config”目录,".ini"文件的文件名即为昇腾AI处理器的版本,请根据实际情况选择。

  3. 若提示如下信息,则说明模型转换成功。
    ATC run success

    成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:caffe_resnet50.om)。

  4. (后续处理)如果想快速体验直接使用转换后的om离线模型文件进行推理,请准备好环境、om模型文件、符合模型输入要求的*.bin格式的输入数据,单击Link,获取msame工具,参考该工具配套的README,进行体验。
  • 如果模型转换时,提示有不支持的算子,请先参见TBE&AI CPU算子开发指南先完成自定义算子,再重新转换模型。
  • 如果模型转换时,提示有算子编译相关问题,但根据报错信息无法定位问题、需要联系华为工程师时,则需设置DUMP_GE_GRAPH、DUMP_GRAPH_LEVEL环境变量,再重新模型转换,收集模型转换过程中各个阶段的图描述信息,提供给华为工程师定位问题。关于环境变量以及图描述信息的说明,请参见ATC工具使用指南中的“参考>dump图详细信息”。
  • 如果模型的输入Shape是动态,关于模型构建、模型推理的说明请参见模型动态Shape输入推理
  • 如果现有网络不满足您的需求,您可以使用昇腾AI处理器支持的算子、调用Ascend Graph接口自行构建自己的网络,再编译成om离线模型文件。详细说明请参见Ascend Graph开发指南
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词