文档
注册
评分
提单
论坛
小AI

模型推理

什么是AscendCL?

AscendCL(Ascend Computing Language)是一套用于在昇腾平台上开发深度神经网络推理应用的C语言API库,提供运行资源管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等API,能够实现利用昇腾硬件计算资源、在昇腾CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API框架,实现对所有资源的调用。

学习AscendCL需要哪些知识储备?

具备C++/C语言程序开发能力、对机器学习或深度学习有一定了解的开发者,可以更好地理解本文档。

什么是ATC?

昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转换工具,对于Caffe,TensorFlow等开源框架网络模型,需要使用该工具将开源模型转换为适配昇腾AI处理器的模型。

  • 它可以将开源框架的网络模型(如Caffe、TensorFlow等)以及Ascend IR定义的单算子描述文件转换为昇腾AI处理器支持的离线模型。
  • 模型转换过程中,ATC会进行算子调度优化、权重数据重排、内存使用优化等具体操作,对原始的深度学习模型进行进一步的调优,从而满足部署场景下的高性能需求,使其能够高效执行在昇腾AI处理器上。

ATC有哪些主要功能?

ATC工具主要有以下功能:

  • 初级功能:原始模型文件或离线模型转成json文件、离线模型支持动态BatchSize/动态分辨率、离线模型支持动态维度、自定义离线模型的输入输出数据类型以及借助离线模型查看软件基础版本号。
  • 高级功能:AIPP使能和单算子模型转换。

如何使用ATC?

ATC工具执行模型转换命令如下所示。

示例:

atc --model=$HOME/module/resnet50.prototxt --weight=$HOME/module/resnet50.caffemodel --framework=0 --output=$HOME/module/out/caffe_resnet50 --soc_version=<soc_version>

关于参数的详细解释以及使用方法请参见ATC工具>参数说明。

ATC转换流程是怎样的?

  1. 使用ATC工具之前,请先在开发环境安装CANN软件包,获取相关路径下的ATC工具,详细说明请参见如何获取ATC工具?
  2. 准备要进行转换的模型或单算子描述文件,并上传到开发环境。
  3. 使用ATC工具进行模型转换,并根据需要配置相关参数。

如何获取ATC工具?

ATC工具集成在开发套件包Ascend-cann-toolkit中,请参考如何获取CANN软件包?获取软件包,ATC工具安装在“Ascend-cann-toolkit安装目录/ascend-toolkit/latest/bin”下。

如何配置ATC转换的环境?

  1. 必选环境变量
    • 设置公共环境变量。
    • 设置Python相关环境变量。
    • 设置环境变量,指定是否开启单线程或多线程编译。
  2. 可选环境变量
    • 日志落盘、打屏与重定向。
    • 开启算子并行编译功能。
    • 打印模型转换过程中各个阶段的图描述信息。

ATC工具环境的详细配置请参见ATC工具>环境搭建。

哪些场景下推荐使用ATC?

  • 开源框架网络模型场景:
    1. 开源框架网络模型经过Parser解析后,转换为中间态IR Graph。
    2. 中间态IR经过图准备,图拆分,图优化,图编译等一系列操作后,转成适配昇腾AI处理器的离线模型。
    3. 转换后的离线模型上传到板端环境,通过AscendCL接口加载模型文件实现推理过程。

      用户也可以将开源框架网络模型转换后的离线模型转成json文件,方便文件查看,也可以直接将开源框架网络模型通过ATC工具转成json文件。

  • 单算子描述文件场景:

    Ascend IR定义的单算子描述文件(json格式)通过ATC工具进行单算子编译后,转成适配昇腾AI处理器的单算子离线模型,然后上传到板端环境,通过AscendCL接口加载单算子模型文件用于验证单算子功能。

如何验证ATC转换是否成功?

转换完成后,若回显信息如下所示,则说明转换成功。

ATC run success

什么是AMCT?

AMCT是昇腾模型压缩工具,提供了一系列的模型压缩方法,对模型进行压缩处理后,生成的部署模型在昇腾AI处理器上可使能一系列性能优化操作,提高性能。

如何获取AMCT软件包?

根据环境所在操作系统架构选择相应的软件包,单击此处获取相应软件包。

AMCT支持哪些框架模型?

AMCT支持的框架模型有:Caffe、TensorFlow、ONNX、PyTorch、MindSpore。

如何使用和配置AMCT?

详细操作指导请参见《AMCT工具》手册。

AMCT有哪些主要使用场景?

AMCT工具支持离线推理、在线推理和训练场景,但不同场景支持进行AMCT的框架不同,请根据《AMCT工具》手册判断。

搜索结果
找到“0”个结果

当前产品无相关内容

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