HiSi 3516CV500 NNIE(Neural Network Inference Engine) 摸魚記錄(1) --- 環境搭建

#PS:要轉載請註明出處,本人版權所有

#PS:這個只是 《 我自己 》理解,如果和你的

#原則相沖突,請諒解,勿噴

背景

深度學習的爆發期已經到了瓶頸了,爲啥這樣說,因爲沒有突破性的理論進展,都是靠着網絡更深、更廣,算力更強大來做相應的功能。至少在我的世界觀裏面是這樣的,雖然這樣的認知可能會有侷限性,或者說是錯誤的。

現在深度學習的方向已經不是以前的泡沫鼓吹了,而是落地,踏踏實實的把實驗室的東西轉換爲實際對社會有用的東西,這纔是深度學習的現在的實際情況。

要做相關的落地,在大部分應用場景來說,是不能夠直接弄臺服務器+GPU的方式來做相關的計算的,這樣部署維護和成本都是一個很大的問題,現在其實大部分的場景需要的是低成本、小型化。就現在來看,其實就是移動手機平臺和其他嵌入式板子平臺是一個主流的方向。比如,手機端的:換臉啊、表情啊、化妝啊等等;板卡端的:依託於人臉識別的廣告機啊、閘機啊等等。這裏面的核心就是要在這些小型設備上做相關的算法運算。

在這些小型設備上做運算,有一個問題就是算力的問題,這些小型設備功耗低、算力低,很可能就是算法表現比較差。還好,很多大佬在很久以前就考慮到這些問題了,出了很多硬件加速的東西。如:Nvidia的TX TK系列、瑞芯微的RK系列、HiSi的Hi3559,Hi3519,Hi3516系列以及其他的Android手機SOC裏面帶的相關的NPU等等。

所以,爲了把HiSi平臺的相關深度學習硬件加速功能用起來,我們得把HiSi的NNIE利用起來完成這個功能。

NNIE簡介

NNIE是 Neural Network Inference Engine 的 簡 稱 是 海思 媒體 S oC 中 專門針對神經網
絡特別是深度學習卷積神經網絡進行加速處理的硬件單元。----- 摘自hisi sdk svp部分《HiSVP開發指南.pdf》

NNIE 工作流程簡介

海思提供了一個NNIE Mapper的工具(Linux , Win都有)。由於NNIE只支持Caffe框架,我們需要的是把Caffe的模型轉換爲NNIE可以使用的模型。

在我們轉換的時候,需要我們提供一個NNIE轉換的配置文件,然後根據配置文件把相關的caffe模型轉換爲NNIE的模型。然後我們在板子上加載這個模型,調用相關的API就可以完成這個網絡的加速計算。

NNIE 環境搭建

工慾善其事必先利其器。NNIE最開始接觸的時候,我覺得賊難受,覺得很難。但是當你把環境配置好了,你就會覺得事半功倍,很舒服。

以下內容,我都是按照HISI SDK的SVP部分的《HI SVP開發指南.pdf》做的,只是由於時效性的原因,有些內容需要做一定的改變適應才行。

我這裏根據我的摸魚經驗,我建議萌新第一步,先把RuyiStudio配置起來,這裏面帶了所有和NNIE開發的工具。

RuyiStudio 簡介

以下是RuyiStudio官方介紹:
RuyiStudio 集成 windows 版 的 NNIE mapper 和 仿真庫, 具有 生成 NNIE wk 功能、 仿真
NNIE 功能,同時 具有 代碼 編輯、編譯、調試、執行 功能 、 網絡拓撲顯示、目標檢測畫
框、 向量 相似度 對比、 調試 定位 信息獲取等功能 。

RuyiStudio ----- MinGW安裝

這裏我建議選擇手動安裝,下載MinGW的對應版本,解壓到一個無中文路徑的目錄下。然後下載對應MinGW的msys,解壓到MinGW的根目錄下。這裏直接按照文檔給的內容走即可。這一步無明顯的坑。

RuyiStudio ----- Python 3.5 與CAFFE安裝

這一步是最坑的一步。所以這步我會一一按照文檔介紹說明。

這一步必須按照手動配置方式,一鍵腳本配置,我建議有能力的小夥伴使用,糾錯有難度。

RuyiStudio-2.0.28.zip 解壓運行

打開RuyiStudio.exe得到如下的界面,常用的幾個點就如圖所示,至於怎麼完成後續工作。請看後續文章。
在這裏插入圖片描述

#PS:請尊重原創,不喜勿噴

#PS:要轉載請註明出處,本人版權所有.

有問題請留言,看到後我會第一時間回覆

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章