偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

嵌入式中的人工神經(jīng)網(wǎng)絡(luò)

開發(fā) 開發(fā)工具
人工神經(jīng)網(wǎng)絡(luò)在AI中具有舉足輕重的地位,除了找到最好的神經(jīng)網(wǎng)絡(luò)模型和訓(xùn)練數(shù)據(jù)集之外,人工神經(jīng)網(wǎng)絡(luò)的另一個挑戰(zhàn)是如何在嵌入式設(shè)備上實現(xiàn)它,同時優(yōu)化性能和功率效率。

 人工神經(jīng)網(wǎng)絡(luò)在AI中具有舉足輕重的地位,除了找到***的神經(jīng)網(wǎng)絡(luò)模型和訓(xùn)練數(shù)據(jù)集之外,人工神經(jīng)網(wǎng)絡(luò)的另一個挑戰(zhàn)是如何在嵌入式設(shè)備上實現(xiàn)它,同時優(yōu)化性能和功率效率。 使用云計算并不總是一個選項,尤其是當(dāng)設(shè)備沒有連接的時候。 在這種情況下,需要一個能夠?qū)崟r進(jìn)行信號預(yù)處理和執(zhí)行神經(jīng)網(wǎng)絡(luò)的平臺,需要***功耗,尤其是在一個電池設(shè)備上運行的時候。

通過使用不同的工具(如 python 腳本) ,可以訓(xùn)練一個數(shù)據(jù)格式的網(wǎng)絡(luò)(在 Caffe 和 Tensorflow),然后使用Snapdragon 神經(jīng)處理引擎的SDK將其轉(zhuǎn)換為可在Snapdragon 平臺上運行的神經(jīng)網(wǎng)絡(luò)。

概述

高通的Snapdragon 平臺和Snapdragon 神經(jīng)處理引擎SDK是一個非常好的選擇,可以在低功耗和小規(guī)模設(shè)備上創(chuàng)建一個定制的神經(jīng)網(wǎng)絡(luò)。 Snapdragon NPE 是為了給開發(fā)者提供工具,使他們能夠輕松地將智能從云端遷移到邊緣設(shè)備。

Snapdragon NPE 為開發(fā)者提供軟件工具,深度神經(jīng)網(wǎng)絡(luò)上的工作負(fù)載在移動和其他邊緣物聯(lián)網(wǎng)(IoT)設(shè)備上,由 Snapdragon 處理器提供軟件工具。 開發(fā)者可以為所需的用戶體驗選擇***的 Snapdragon 核心—— Qualcomm Kryo CPU、 Qualcomm Adreno GPU 或Hexagon DSP。

本文探討了利用 Matlab 工具在 Snapdragon 平臺上開發(fā)和實現(xiàn)神經(jīng)網(wǎng)絡(luò),并主要關(guān)注 ONNX 格式。 同時,我們還研究了 Snapdragon 平臺如何通過使用 Snapdragon 核心和 SNPE SDK 提供的工具來幫助減少電力和處理時間。

設(shè)計并開發(fā)簡單的 DNN

從設(shè)計和培訓(xùn)深度神經(jīng)網(wǎng)絡(luò)開始,使用 Matlab并移植帶Snapdragon的設(shè)計,尋找Snapdragon上***的子系統(tǒng)來完成這項工作。

手寫數(shù)字識別系統(tǒng)

從使用 DNN 的手寫數(shù)字識別系統(tǒng)開始。 這個網(wǎng)絡(luò)與(音頻數(shù)字識別系統(tǒng))之間的主要區(qū)別之一是這個系統(tǒng)沒有對輸入信號進(jìn)行任何預(yù)處理。 具有異構(gòu)計算架構(gòu)的 Snapdragon 平臺擁有強(qiáng)大的音頻和圖像處理引擎,使用數(shù)字信號處理(dsp)和圖形處理單元(GPU)進(jìn)行音頻和圖像處理。

該網(wǎng)絡(luò)是一個基于三層卷積的網(wǎng)絡(luò)。為了開發(fā)和訓(xùn)練這個網(wǎng)絡(luò),可以使用 Matlab,還可以使用 Matlab 的手寫數(shù)據(jù)庫(與 MNIST 數(shù)據(jù)庫相同; 關(guān)于該數(shù)據(jù)庫的資料,請查看 Matlab 文檔)。

編寫腳本

選擇數(shù)據(jù)庫

  1. [XTrain,YTrain] = digitTrain4DArrayData; 
  2. [XValidation,YValidation] = digitTest4DArrayData; 

設(shè)置圖層

  1. layers = [    imageInputLayer([28 28 1],'Name','input''Normalization''none'
  2.  
  3. convolution2dLayer(5,16,'Padding','same','Name','conv_1'
  4.  
  5. batchNormalizationLayer('Name','BN_1'
  6.  
  7. reluLayer('Name','relu_1'
  8.  
  9. convolution2dLayer(3,32,'Padding','same','Name','conv_2'
  10.  
  11. batchNormalizationLayer('Name','BN_2'
  12.  
  13. reluLayer('Name','relu_2'
  14.  
  15. fullyConnectedLayer(10,'Name','fc'
  16.  
  17. softmaxLayer('Name','softmax'
  18.  
  19. classificationLayer('Name','classOutput')]; 

建立網(wǎng)絡(luò)

  1. options = trainingOptions('sgdm',... 
  2.  
  3. 'MaxEpochs',6,... 
  4.  
  5. 'Shuffle','every-epoch',... 
  6.  
  7. 'ValidationData',{XValidation,YValidation},... 
  8.  
  9. 'ValidationFrequency',20,... 
  10.  
  11. 'Verbose',false,... 
  12.  
  13. 'Plots','training-progress'); 

進(jìn)行訓(xùn)練(有關(guān)訓(xùn)練過程的細(xì)節(jié),參見 Matlab的相關(guān)文檔)。

圖1 訓(xùn)練結(jié)果

為了驗證網(wǎng)絡(luò),使用這個圖像作為分類器,網(wǎng)絡(luò)可以正確地對它進(jìn)行分類。

圖2 分類器

現(xiàn)在,在將網(wǎng)絡(luò)轉(zhuǎn)換為 ONNX 格式之后,進(jìn)入了下一步,即使用 SNPE 工具。

首先,需要將 ONNX 格式轉(zhuǎn)換為 DLC。

  1. snpe-onnx-to-dlc -m handwritten-onnx --debug 

這將創(chuàng)建一個 DLC 格式網(wǎng)絡(luò),可用于SNPE。

然后使用此命令,可以驗證網(wǎng)絡(luò)結(jié)構(gòu)與在 Matlab 中創(chuàng)建的結(jié)構(gòu)是否匹配。

圖3 拓?fù)鋵Ρ?左側(cè) SNPE DLC,右側(cè) Matlab)

現(xiàn)在使用相同的測試圖像并在 Snapdragon 目標(biāo)板上驗證它。 以下是 ARM,cDSP 和 GPU 的結(jié)果摘要,使用了以下步驟:

拉取平臺上不同核(使用 dsp 和使用 gpu)的 snpe-net-run 結(jié)果

比較結(jié)果表明,DSP 和 GPU 關(guān)系密切,但在這些平臺上,與 GPU 相比,cDSP 沒有較大負(fù)載(特別是當(dāng)有圖形應(yīng)用程序運行時).

使用信號預(yù)處理子系統(tǒng)

到目前為止,已經(jīng)實現(xiàn)的 DNN 網(wǎng)絡(luò)不需要對輸入信號進(jìn)行任何預(yù)處理(比如從輸入圖像中提取特征)。 然而,并不是所有的實現(xiàn)都是這樣。

對于這些情況和實現(xiàn)較低的功耗,可以使用Snapdragon-aDSP,mDSP,cDSP,GPU,dsp/hvx,arm/neon 的不同子系統(tǒng)??纯磝DSP和如何使用這些處理器進(jìn)行特征提取的例子。

Snapdragon上的Hexagon xDSP

Hexagon DSP 是一種具有 L1/2緩存和內(nèi)存管理單元的多線程DSP,在大多數(shù) Snapdragon SOC上,它和其他核心一樣可以訪問一些資源。QuRT OS這個獨特的結(jié)構(gòu)創(chuàng)建了一個靈活的 DSP 平臺,為不同的用例創(chuàng)建應(yīng)用程序。

圖4 DSP 硬件體系結(jié)構(gòu)

圖像處理

對于實時圖像處理,可以在 ISP 管道中注入定制的 HVX 模塊。 該模塊的管道位置可能不同,取決于Snapdragon 具體型號。 在某些平臺上,可以在相機(jī)傳感器接口模塊之后使用它。

圖5 圖像的管道處理

或者在其他地方,可以在相機(jī)管道的不同位置(紅點)中注入 HVX 模塊。

圖6 HVX模塊的注入點

或者可以用于 ISP 之后的內(nèi)存轉(zhuǎn)移中。有幾個例子可以在 Hexagon sdk3.3中找到。

例如,一個使用 HVX 的噪聲640x480圖像上的 Sobel 處理,可以使用大約10K 的指令周期。

圖7 噪聲圖像的sobel 處理

音頻處理

對于音頻預(yù)處理,aDSP 及其 Elite 框架適用于實時特征提取。 在數(shù)字識別系統(tǒng)的 DNN 網(wǎng)絡(luò)中,該網(wǎng)絡(luò)的輸入為 Mel-frequency cepstral coefficients (MFCC) ,使用一秒音頻文件和14個系數(shù),輸入層為14x98。 這個數(shù)據(jù)是從 https://aiyprojects.withgoogle.com/open_speech_recording 中收集的,每個數(shù)字(0-9)使用1500個音頻文件。 這里有一個用于數(shù)字1的 MFCC 例子。

圖8 數(shù)字1的音頻信號

網(wǎng)絡(luò)配置為

圖9 數(shù)字的DNN

DNN將嘗試學(xué)習(xí)和分類這些類型的圖像為不同的數(shù)字。 特征提取部分是在 aDSP 中完成的,是 Elite 框架中音頻路徑拓?fù)渲械囊粋€定制模塊。

傳感器處理

平臺包含一個傳感器集線器,是Snapdragon 傳感器核心,可以幫助整合來自不同傳感器的數(shù)據(jù)并處理它們。 這種技術(shù)可以幫助從中央處理器卸載這些任務(wù),減少電池消耗,同時提供更好的性能。 針對傳感器行為識別目標(biāo)的任何傳感器信息的任何DNN預(yù)處理都可以從 DSP 上卸載,并且可以實時完成。

在上述所有情況下,可以不使用分配的 DSP 進(jìn)行輸入,而是使用 FastRPC 從 ARM 中卸載處理到任何其他子系統(tǒng)(如 mDSP) ,但是這種技術(shù)有它自己的處理開銷。

小結(jié)

Snapdragon 平臺和 Snapdragon 神經(jīng)處理引擎SDK提供了強(qiáng)大的平臺和工具,可以在低功耗和小規(guī)模的邊緣設(shè)備上創(chuàng)建一個定制的人工神經(jīng)網(wǎng)絡(luò)。

(本文編譯自 http://www.embedded-computing.com/iot/artificial-neural-networks-ann-on-snapdragon-based-edge-devices)

【本文來自51CTO專欄作者“老曹”的原創(chuàng)文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】

 

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2021-08-25 13:13:58

神經(jīng)網(wǎng)絡(luò)AI算法

2018-07-03 16:10:04

神經(jīng)網(wǎng)絡(luò)生物神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)

2023-05-09 14:24:32

大數(shù)據(jù)人工智能

2021-08-31 14:22:12

技術(shù)資訊

2021-04-29 08:50:39

人工智能神經(jīng)網(wǎng)絡(luò)技術(shù)

2020-08-20 07:00:00

深度學(xué)習(xí)人工智能技術(shù)

2022-03-02 14:53:34

人工智能神經(jīng)網(wǎng)絡(luò)

2017-09-06 11:10:58

大數(shù)據(jù)數(shù)據(jù)可視化神經(jīng)網(wǎng)絡(luò)

2010-09-25 15:05:49

LINUXJVM

2020-12-21 08:00:00

人工智能深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2017-04-06 18:34:16

人工智能

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2022-02-28 11:33:32

神經(jīng)網(wǎng)絡(luò)Transforme人工智能

2021-12-15 07:24:57

人工神經(jīng)網(wǎng)絡(luò)翻譯

2023-06-18 23:00:39

神經(jīng)網(wǎng)絡(luò)損失函數(shù)隨機(jī)變量

2022-02-11 09:12:13

人工智能深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2022-02-23 17:03:18

人工智能深度學(xué)習(xí)機(jī)器學(xué)習(xí)

2022-11-30 07:12:06

2011-11-02 16:32:42

2011-04-18 11:34:34

嵌入式軟件測試
點贊
收藏

51CTO技術(shù)棧公眾號