海思SD3403开发板学习(五)

海思SD3403开发板学习系列:五 模型初始化与反初始化

文章目录

  • 海思SD3403开发板学习系列:五 模型初始化与反初始化
  • 前言
  • 一、初始化
  • 二、反初始化


前言

本文使用yolox模型进行目标检测任务。


一、初始化

初始化流程如下:
海思SD3403开发板学习(五)_第1张图片

  1. ACL初始化:
    ACL就是华为的AscendCL(Ascend Computing Language),是一套用于在昇腾平台上开发深度神经网络推理应用的C语言API库,提供Device管理、 Context管理、 Stream管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等API,能够实现在昇腾CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。首先对ACL初始化基本可以理解为初始化一个整体的框架。
  2. 设备号初始化:
    每个NNN内核都具有唯一的一个设备号。3403只有一个NNN硬件,设备号设0即可。
  3. context初始化:
    context作为一个容器,管理了所有对象(包括Stream、 Event、设备内存等)的生命周期。不同context的对象是完全隔离的,不能建立联系。
  4. stream初始化:
    stream用于维护一些异步操作的执行顺序,确保按照应用程序中的代码调用顺序在Device上执行。本文使用同步方案,所以stream的使用很少。同步方案会在输入传入NNN并进行推演时进行等待,直到NNN处理完数据并返回结果时才停止等待,执行后续流程。

二、反初始化

反初始化流程:
海思SD3403开发板学习(五)_第2张图片


你可能感兴趣的:(海思3403,学习,边缘计算)