下载
中文
注册

快速入门

本章节以各框架下模型转换为例,演示如何快速转换一个模型。

  • 版本兼容性说明:
    • 低版本的CANN软件包环境上转换出的om离线模型,支持在高版本的CANN软件包环境上运行,兼容4个版本周期。
    • 动态shape场景和静态昇腾虚拟化实例场景:若用户使用6.0.1之前的CANN版本进行的模型转换,无法在6.0.1及之后CANN版本进行推理,需要使用6.0.1及之后匹配的CANN版本重新进行模型转换。如果用户想查看已有离线模型使用的ATC工具等基础版本信息,则请参见借助离线模型查看软件基础版本号

      (昇腾虚拟化实例主要是指NPU资源虚拟化的场景,其主要目的是为了通过相互隔离的vNPU虚拟实例提升物理NPU资源利用率,因此在某些场景下也称为算力切分。)

  • 开发环境架构为Arm(aarch64),模型转换耗时较长,则可以参考开发环境架构为Arm(aarch64)时模型转换耗时较长解决。
  • 如果模型转换时,用户使用了设置网络模型精度参数--precision_mode--precision_mode_v2
    • 上述两个参数默认都为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见“模型推理精度提升建议”进行定位。
    • 如果用户聚焦精度问题,可以修改为其他取值,比如--precision_mode设置为must_keep_origin_dtype或--precision_mode_v2设置为origin。

开源框架的TensorFlow网络模型转换成离线模型

  1. 获取TensorFlow网络模型。

    单击Link,根据页面提示获取ResNet50网络的模型文件(*.pb),并以CANN软件包运行用户将获取的文件上传至开发环境任意目录,例如上传到$HOME/module/目录下。

  2. 执行如下命令生成离线模型。(如下命令中使用的目录以及文件均为样例,请以实际为准)
    atc --model=$HOME/module/resnet50_tensorflow*.pb --framework=3 --output=$HOME/module/out/tf_resnet50 --soc_version=<soc_version>   
    • --model:ResNet50网络模型文件所在路径。
    • --framework:原始框架类型,3表示TensorFlow。
    • --output:生成的离线模型路径。
    • --soc_version:昇腾AI处理器的型号。

    关于参数的详细解释请参见参数说明,请使用与芯片名相对应的<soc_version>取值进行模型转换,然后再进行推理,具体使用芯片查询方法请参见--soc_version

  3. 若提示如下信息,则说明模型转换成功。
    1
    ATC run success, welcome to the next use.
    

    成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:tf_resnet50.om)。若模型转换失败,请参见故障处理>“错误码参考”章节进行辅助定位。

  4. (后续处理)如果想快速体验直接使用转换后的om离线模型文件进行推理,请准备好环境、om模型文件、符合模型输入要求的*.bin格式的输入数据,单击Link,获取msame工具,参考该工具配套的README,进行体验。

ONNX网络模型转换成离线模型

  1. 获取ONNX网络模型。

    单击Link进入ModelZoo页面,查看README.md中“快速上手>模型推理”章节获取*.onnx模型文件,再以CANN软件包运行用户将获取的文件上传至开发环境任意目录,例如上传到$HOME/module/目录下。

  2. 执行如下命令生成离线模型。(如下命令中使用的目录以及文件均为样例,请以实际为准)
    atc --model=$HOME/module/resnet50*.onnx --framework=5 --output=$HOME/module/out/onnx_resnet50 --soc_version=<soc_version>  
    • --model:Resnet50网络模型文件所在路径。
    • --framework:原始框架类型,5表示ONNX。
    • --output:生成的离线模型路径。
    • --soc_version:昇腾AI处理器的型号。

    关于参数的详细解释请参见参数说明,请使用与芯片名相对应的<soc_version>取值进行模型转换,然后再进行推理,具体使用芯片查询方法请参见--soc_version

  3. 若提示如下信息,则说明模型转换成功。
    1
    ATC run success, welcome to the next use.
    

    成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:onnx_resnet50.om)。若模型转换失败,请参见故障处理>“错误码参考”章节进行辅助定位。

  4. (后续处理)如果想快速体验直接使用转换后的om离线模型文件进行推理,请准备好环境、om模型文件、符合模型输入要求的*.bin格式的输入数据,单击Link,获取msame工具,参考该工具配套的README,进行体验。

开源框架的Caffe网络模型转换成离线模型

  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网络模型文件所在路径。
    • --weight:ResNet-50网络权重文件所在路径。
    • --framework:原始框架类型,0表示Caffe。
    • --output:生成的离线模型路径。
    • --soc_version:昇腾AI处理器的型号。

    关于参数的详细解释请参见参数说明,请使用与芯片名相对应的<soc_version>取值进行模型转换,然后再进行推理,具体使用芯片查询方法请参见--soc_version

  3. 若提示如下信息,则说明模型转换成功。
    1
    ATC run success, welcome to the next use.
    

    成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:caffe_resnet50.om)。若模型转换失败,请参见故障处理>“错误码参考”章节进行辅助定位。

  4. (后续处理)如果想快速体验直接使用转换后的om离线模型文件进行推理,请准备好环境、om模型文件、符合模型输入要求的*.bin格式的输入数据,单击Link,获取msame工具,参考该工具配套的README,进行体验。

MindSpore框架的网络模型转换成离线模型

  1. 获取MindSpore框架的网络模型。

    单击Link,获取ResNet-50网络的模型文件(仅支持*.air格式的模型文件进行模型转换),并以CANN软件包运行用户将获取的文件上传到开发环境任意路径,例如$HOME/module/目录下。

  2. 执行如下命令生成离线模型。(如下命令中使用的目录以及文件均为样例,请以实际为准)
    atc --model=$HOME/module/ResNet50.air --framework=1 --output=$HOME/module/out/ResNet50_mindspore --soc_version=<soc_version>
    • --model:*.air格式的模型文件所在路径。
    • --framework:原始框架类型,1表示*.air格式的模型文件。
    • --output:生成的离线模型路径。
    • --soc_version:昇腾AI处理器的型号。

    关于参数的详细解释请参见参数说明,请使用与芯片名相对应的<soc_version>取值进行模型转换,然后再进行推理,具体使用芯片查询方法请参见--soc_version

  3. 若提示如下信息,则说明模型转换成功。
    1
    ATC run success, welcome to the next use.
    

    成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:ResNet50_mindspore.om)。若模型转换失败,请参见故障处理>“错误码参考”章节进行辅助定位。

  4. (后续处理)如果想快速体验直接使用转换后的om离线模型文件进行推理,请准备好环境、om模型文件、符合模型输入要求的*.bin格式的输入数据,单击Link,获取msame工具,参考该工具配套的README,进行体验。