[SNPE]pb文件轉dlc的一些問題

人工神經網絡在AI中具有舉足輕重的地位,除了找到最好的神經網絡模型和訓練數據集之外,人工神經網絡的另一個挑戰是如何在嵌入式設備上實現它,同時優化性能和功率效率。 使用雲計算並不總是一個選項,尤其是當設備沒有連接的時候。 在這種情況下,需要一個能夠實時進行信號預處理和執行神經網絡的平臺,需要最低功耗,尤其是在一個電池設備上運行的時候。

通過使用不同的工具(如 python 腳本) ,可以訓練一個數據格式的網絡(在 Caffe 和 Tensorflow),然後使用Snapdragon 神經處理引擎的SDK將其轉換爲可在Snapdragon 平臺上運行的神經網絡。

概述
高通的Snapdragon 平臺和Snapdragon 神經處理引擎SDK是一個非常好的選擇,可以在低功耗和小規模設備上創建一個定製的神經網絡。 Snapdragon NPE 是爲了給開發者提供工具,使他們能夠輕鬆地將智能從雲端遷移到邊緣設備。

Snapdragon NPE 爲開發者提供軟件工具,深度神經網絡上的工作負載在移動和其他邊緣物聯網(IoT)設備上,由 Snapdragon 處理器提供軟件工具。 開發者可以爲所需的用戶體驗選擇最佳的 Snapdragon 核心—— Qualcomm Kryo CPU、 Qualcomm Adreno GPU 或Hexagon DSP。

本文探討了利用 Matlab 工具在 Snapdragon 平臺上開發和實現神經網絡,並主要關注 ONNX 格式。 同時,我們還研究了 Snapdragon 平臺如何通過使用 Snapdragon 核心和 SNPE SDK 提供的工具來幫助減少電力和處理時間。
原文鏈接:https://blog.csdn.net/wireless_com/article/details/83965703

1、snpe_bench.py

這個腳本運行一個DLC神經網絡然後收集一些benchmark表現。

選項:

必須參數:-c CONFIG_FILE, 配置文件路徑

可選參數:

-o 輸出文件夾

-v 使用設備這裏的ID而不是配置文件裏提供的ID。不能和-a選項一起使用。

-r 遠程的主機名或者IP

-a 在所有相連的設備上運行

-t 確定目標操作系統類型,可選項['android','android-arm320llvm','android-aarch64-11vm','le','le64_gcc4.9','le_gcc4.8hf']

-d 開啓debug日誌

-s 設置運行之間的休眠秒數

-b 默認float可設置爲tf8exact0

-p 設置benchmark操作模式(balanced,default,sustained_high_performance,high_performance,power_saver,system_settings)

-l 大概就是設置輸出的信息的詳細程度(off,basic,detailed)默認是basic

-json 生成json輸出

 

benchmarking

概述:

將網絡運行在目標設備上(android或者linuxembedded),計算時間和內存消耗指標。

 

 

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