hikey970学习-003:DDK用户手册学习《Huawei HiAI DDK User Manual 》(1)

馋奶兔 提交于 2019-12-02 02:03:48

看了华为HIAIDDK用户手册,目前关于hikey970跑神经网络的资料比较少,官方资料是不错的学习工具,下面的的内容都是根据手册的内容整理、翻译相关内容了一下:

 

《Huawei HiAI DDK User Manual》

下载地址:https://download.csdn.net/download/qqqzmy/10541757

1、overview

        HiAI是华为的一款面向移动端的人工智能计算平台。HIAIAPI发布于一个统一的二进制文件中,利用HIAI异构计算平台加速神经网络的计算。

        目前,这些API只能在Kirin系统芯片(SoC)上运行,并集成到使用Kirin SoC的Android系统中,允许开发人员在集成环境中运行神经网络模型,并调用HIAIAPI来加速计算。HIAI设备开发工具包(DDK)是向第三方开发人员提供的HIAI资源包.

 

2、ddk description  DDK描述

        HIAI DDK为ai应用程序开发者提供了ai模型管理器。它是一个模型管理接口,提供模型加载、模型计算和模型卸载等功能。HIAI DDK计算库在脱机模式下运行。它使用编译和优化的离线模型来执行神经网络计算。减少了内存使用,同时提高了计算性能。可以使用专用转换工具将caffe或tensorflow模型转换为脱机模型。HIAIDDK提供了一个模型转换工具,用于将caffe或TensorFlow模型转换为npu模型。

一个完整的DDK包含五个部分,如图2-1所示:

APP_Source:包含安卓演示应用程序的源代码。

DDK:包含HIAIOpenSDK。

document:文档包含用于开发的参考文档。

Tools_Caffe和Tools_TensorFlow包含用于生成指定格式模型的工具。

 

其中的APP_Source存放有一个使用SqueezeNet例子,下载路径:

https://github.com/DeepScale/SqueezeNet/tree/master/SqueezeNet_v1.1

该应用程序源代码提供了一系列同步和异步示例代码示例,包括输入预处理、模型加载、模型正演计算、前向计算结果的后处理、模型卸载和时间统计收集。

使用AndroidStudio2.2或更高版本。(有关详细信息,请访问Google Android开发人员的网站:

https://developer.android.com/studio/index.html

导入应用程序源代码并运行。该应用程序支持从图库中选择图片或使用相机拍照。图2-2显示了DDK应用程序的运行效果。

其中的DDK文件夹由两部分组成:

一、ai_ddk_demo:使用集成到DDK接口的图片分类识别演示程序。在ai_ddk_demo中,classify_jni.cpp是一个同步Java本机接口(JNI)演示程序,classify_async_jni.cpp是一个异步JNI演示程序。buildModel.cpp是一个在线编译模型演示程序。

二、ai_ddk_lib:包含相关库和相关头文件。

libai_client.so是DDK依赖的动态库。

HiAIModelManager.h是DDK中的头文件,包含Libai_client.so文件中的函数声明。

其中描述了如何使用HIAIDDK使用全过程案例。

 

其中的document由4部分组成:

Huawei HiAI DDK user manual,描述DDK中提供的接口和错误代码。

Huawei HiAI DDK integration case其中描述了如何使用HIAIDDK使用全过程案例。

Operator specification description document,描述由HIAI DDK V150支持的运算符和支持限制。

 

Tools的组成部分:

在使用HIAI加速Caffe和TensorFlow模型之前,需要将模型转换为指定的格式。Caffe和TensorFlow模型分别提供了转换工具。

 

3、Integration Overview

下图显示了集成过程。

HIAI DDK的整合包括以下步骤:

步骤1:评估操作符的兼容性。注:目前,HIAI平台不支持用户定义的操作类型。

步骤2:转换模型格式。在完成运算符兼容性评估之后,您需要将caffe或TensorFlow模型转换为HIAI平台支持的模型格式。

步骤3:集成模型。模型集成包括六个步骤:模型预处理、创建模型管理器、加载转换模型、计算模型、卸载模型和销毁模型管理器。

 

4、开发环境

模型转换工具运行在Linux平台上。要下载Linux映像,请访问http:/mirrors.ustc.edu.cn/。

建议将NDKr14b或更高版本用于DDK编译。要下载ndk,请访问

https://developer.android.com/ndk/downloads/index.html.

使用JDK 8 Android Studio进行应用程序开发。要下载java jdk 8,请访问

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.

 

5、支持的操作符

有关详细信息,请参阅Huawei HiAI DDK Operator Specification Document.

 

6、限制

当用户apk使用DDK时,需要调用加载、运行和卸载离线模型的接口来计算HIAI异构加速系统上的用户输入数据。

手机上的ROM和RAM有限,模型的大小要求如下:

模型大小要小于等于100MB,峰值内存使用大小要小于200MB

 

7、模型的转换

要使用HIAI DDK进行模型加速,需要将caffe和tensorflow模型转换为指定格式。

这篇文章先写前面介绍部分,后面的详细内容在以后的博客会写出来

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!