全志Tina_NPU开发部署说明

2024-08-02 08:13:09 浏览数 (1)

1 前言

1.1 读者对象

本文档(本指南)主要适用于以下人员:

• 技术支持工程师

• 软件开发工程师

• AI 应用案客户

2 正文

2.1 NPU 开发简介

• 支持int8/uint8/int16 量化精度,运算性能可达1TOPS.

• 相较于GPU 作为AI 运算单元的大型芯片方案,功耗不到GPU 所需要的1%.

• 可直接导入Caffe, TensorFlow, Onnx, TFLite,Keras, Darknet, pyTorch 等模型格式.

• 提供AI 开发工具:支持模型快速转换、支持开发板端侧转换API、支持TensorFlow, TFLite, Caffe, ONNX, Darknet, pyTorch 等模型.

• 提供AI 应用开发接口:提供NPU 跨平台API.

2.2 开发流程

NPU 开发完整的流程如下图所示:

###2.3 模型训练

在模型训练阶段,用户根据需求和实际情况选择合适的框架(如Caffe、TensorFlow 等)进行训练得到符合需求的模型。也可直接使用已经训练好的模型, 对于基

于已有的算法模型部署来讲,可以不用经过模型训练阶段.

2.4 模型转换

此阶段为通过Acuity Toolkit 把模型训练中得到的模型转换为NPU 可用的模型NBG 文件。

2.5 程序开发

最后阶段为基于VIPLite API 开发程序实现业务逻辑。

2.6 acuity Toolkit

Allwinner 提供acuity toolkit 开发套件进行模型转换、推理运行和性能评估。

用户通过提供的python 接口可以便捷地完成以下功能:

1)模型转换:支持Caffe,TensorFlow Lite, Tensorflow, ONNXDarknet NBG 模型导入导出,后续能够在硬件平台上加载使用。

2)模型推理:能够在PC 上模拟运行模型并获取推理结果,也可以在指定硬件平台上运行模型并获取推理结果。

3)性能评估:能够在PC 上模拟运行并获取模型总耗时及每一层的耗时信息,也可以通过联机

调试的方式在指定硬件平台上运行模型,并获取模型在硬件上运行时的总时间和每一层的耗时信息。

此文档主要介绍模型转换和基于NPU 程序开发,不涉及模型训练的内容。

0 人点赞