hikey970学习-003:DDK用户手册学习《Huawei HiAI DDK User Manual 》(1)
看了華為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計算庫在脫機模式下運行。它使用編譯和優化的離線模型來執行神經網絡計算。減少了內存使用,同時提高了計算性能??梢允褂脤S棉D換工具將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模型轉換為指定格式。
這篇文章先寫前面介紹部分,后面的詳細內容在以后的博客會寫出來
總結
以上是生活随笔為你收集整理的hikey970学习-003:DDK用户手册学习《Huawei HiAI DDK User Manual 》(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【GTSAM】GTSAM/iSAM1/2
- 下一篇: 微信公众平台接口调试工具json格式不对