安霸CVFlow推理開發筆記

一、安霸環境搭建:

1.遠程172.20.62.13

2. 打開Virtualbox,所在目錄:E:\Program Files\Oracle\VirtualBox

3. 配置好ubuntu18.04環境,Ubuntu密碼:amba

4. 安裝toolchain,解壓Ambarella_Toolchain_CNNGen_2.3.0_20210205(注意要用最新版本)

5.進入Ubuntu-18.04安裝包里,運行以下腳本ubuntuToolChain-2.3.0,提前配置好pip源

6. 默認路徑為/usr/local,安裝parser時按照需求選擇,onnxparser caffeparser以及tensorflowparser

7.安裝完成后,查看/usr/local/目錄下新增amba toolchain

8.搭配環境,運行source搭配開發環境

9. 嘗試shell自動補全,查看gen_image_list.py,layer_compare.py,onnxparser.py程序是否存在。存在則安裝成功,反之失敗。

二.安霸模型轉換流程:

  1. 凍結和輸出CNN網絡模型的框架和權重
  2. 通過Python parser 運行模型,通過使用AmbaCNN API 來修建CNNGen中的節點圖
  3. CNNGen將節點圖擴展乘原始圖并且進行量化和減少計算量
  4. VAS將原始圖擴展乘算子圖(DAG)并進行低等級優化和DAG分離
  5. 在ADES上運行VAS生成DAGs驗證結果和準確性
  6. 用cavalry_gen腳本生成最終執行的二進制文件并用Ambaralla接口運行在CV2X板子上

三.模型轉換工具使用:

1. 將圖片數據轉換成bin format

gen_image_list.py-f test_image/??? ?????????????????????????????????????? //圖片所在目錄-o img_dara_list.txt ??????????????????????????????????? //輸入的圖片列表-ns???????????????????????????????????????????????????????????????????? //禁用隨機選擇-e data?????????????????????????????????????????????????????????? //圖片格式,新增data格式-c 1??????????????????????????????????????????????????????????????????? //圖片格式 1為BGR-d 0,0 ????????????????????????????????????????????????????????????? //轉換格式undesigned fix8 1,2,07為float32-r 96 96 ????????????????????????????????????????????????????????? //圖像尺寸-bf dra_bin/ ????????????????????????????????????????????????? //輸出目錄-bo dra_bin_list.txt?????????????????????????????????????? //輸出文件列表

2. onnx模型轉換

onnxparser.py-m ./face_align_float_20210301.onnx? ????????????????? ???????? //模型的ONNX文件,包含純模型-isrc ???????????????????????
“is:1,3,96,96|iq|idf:0,0,0,0 |i:data=./dra_bin_list.txt” ?????? //多參數輸入-o face_align_amba???????????????????????????????????????????????????????? ?????? //輸出文件名-of ./module????????????????????????????????????????????????????????????????????? ?????? //輸出文件目錄-c act-force-fx8,coeff-force-fx8????????????????? //第一個代表輸出是8bit,第二個表示權重為8bit 高效: act-force-fx8,coeff-force-fx8 高準確率 act-force-fx16,coeff-force-fx16,模型權重參數不支持float-odst “o:output|odf:fp32”??????????????????????????????????????????? ?????? //模型輸出由”output”轉fp32

3.編譯VAS代碼

cd module
vas –auto –summary –show-progress –dvi face_align_amba.vas //生成vas文件

4. layer_compare比較一致性

layer_compare.py onnx
–m ./face_align_float_20210301.onnx ?//onnx文件目錄
–isrc “is:1,3,96,96|iq|idf:0,0,0,0|i:data=./dra_image_bin/dra_bin_list.txt” //同onnxparser參數
–c act-force=fx16,coeff-force-fx16 //同onnxparser參數
–odst “o:output|odf:fp32” //同onnxparser參數
-n face_align_amba //vas文件名
-v module? //vas文件目錄,一定要精確到vas_output目錄
-o ./lc???? //生成的結果比較文件.xsl

5.為了生成ADES command,為了在PC上模擬運行

ades_autogen.py
–v face_align_amba //vas文件名
–p ./ ????????????????????????? //vas文件所在目錄
-l ades_module ??//輸出文件目錄
–ib data=/media/sf_Amba/data_bin/image_align_00001.bin //data:模型input層名稱
-ob output=./out.bin? // output:模型輸出層名稱,out.bin輸出文件名,以二進制文件存儲

6.模擬運行.cmd

cd ades_moudle
ades face_align_amba_ades.cmd //執行程序,得到結果

7.編譯CV code,生成可以在CV2x上運行的程序,生成模型文件face_align.bin

cavalry_gen
–d ./vas_output //目錄精確到vas_output
–f face_align.bin //輸出模型文件名
–p ./ ???????????????? ?//輸出模型文件目錄
-V 2.1.7 ?????????? //版本,要與板子上的版本一致

快速執行腳本sample里有quick_start.sh腳本,一個腳本完成上述所有操作,參考CNNGen_Development_Flow 7.2章節

./quick_start.sh
–f onnx???????????????????????????????? ?????? //模型轉換方式,支持onnx caffe和trensorflow
–d /media/image_data/ ??????? //gen_image_list的圖片文件目錄
-m ./face_align_float_20210301.onnx ?//onnx文件

四.Amba嵌入式運行

研發網訪問【Amba-cv25開發板】和【廣汽8155車機】方法:
1. 使用【mstsc】遠程登錄【Windows host主機 192.168.122.29】,【賬戶密碼 都是自己的域賬戶】,允許多個賬戶同時登陸 各自用各位各自的域賬戶+密碼登錄就好:
admin/kuihu2/peihuang/ycjiang/ylxiang2
2. 打開xshell6,admin密碼沒有,直接回車。 amba的開發版的串口是com5 頻率是115200,留意不要選錯登到廣汽的8155車機上 廣汽8155車機的串口操作失誤 比如敲一個exit就藍屏了,留意不要串口登到廣汽8155上面去
3. 但串口操作有一個問題就是:我用的時候你是用不了的。換句話說:如果黃培已經通過串口登錄amba開發版了,那其他人就用不了,除非黃培主動斷開連接。如果發現串口連接不上,大概率是別人在用,可以用別人的賬號登一下 看誰在用,總共就這幾個賬號。

1.將amba掛在到windows上

umount /dev/mmcblk0p8
insmod /lib/modules/4.14.183/kernel/drivers/usb/gadget/udc/ambarella_udc.ko
insmod /lib/modules/$(uname -r)/kernel/drivers/usb/gadget/libcomposite.ko
insmod /lib/modules/$(uname -r)/kernel/drivers/usb/gadget/function/usb_f_mass_storage.ko
modprobe g_mass_storage removable=y stall=0 file=/dev/mmcblk0p8

2. 放入模型和數據,然后接觸掛載?

modprobe -r g_mass_storage
mkdir /mnt/p8
mount /dev/mmcblk0p8 /mnt/p8

3.配置運行環境

modprobe cavalry
cavalry_load –f /lib/fireware/cavalry.bin -r

4.運行程序

test_nnctrl –b model.bin
--in <input_0_layer_name>=<input_0_bin>
--in <input_1_layer_name>=<input_1_bin>
--out <output_0_layer_name>=< output _0_bin>
--out < output _1_layer_name>=< output _1_bin>
-v? //打印debug信息
-e ?//打印vp_time

五、踩坑記錄:

1.Onnx版本錯誤,onnx要是6.0。用python3 import onnx print(onnx.__version__)queren

2.toolchain安裝時,安裝使用如下腳本ubuntuToolChain,不要用installToolChainONLY,同時提前配置好pip源

3.像素值(R,G,B) –平均值(RGB) / 方差值(R,G,B) 歸一化操作要放到onnxpraser里面操作,否則會嚴重影響準確性

4.一致性結果不同層對不上關系不大,主要看最終輸出是否能保持較小誤差

5.模型仿真輸出和amba板子上運行輸出結果有些出入,因為硬件上需要32位對齊,讀取的時候需要注意

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36442.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36442.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36442.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鴻蒙開發HarmonyOS NEXT (二) 熟悉ArkUI

一、構造函數 構造一個商品類Item&#xff0c;然后利用foreach函數循環渲染 class Item {name: stringimage: ResourceStrprice: numberdiscount: numberconstructor(name: string, image: ResourceStr, price: number, discount: number 0) {this.name name;this.image ima…

JAVA進階學習09

文章目錄 一、雙列集合Map1.1 雙列集合介紹1.2 雙列集合Map常見API1.3 Map集合遍歷方式1.3.1 通過集合的全部鍵來遍歷集合1.3.2 Map集合遍歷方式21.3.3 Map集合遍歷方式3 二、Map集合的實現類2.1 HashMap類2.2 LinkedHashMap2.3 TreeMap 三、可變參數四、Collections類五、集合…

Vue 2.0 與 3.0區別

Vue.js是一種流行的前端JavaScript框架&#xff0c;用于構建用戶界面和單頁面應用程序。隨著時間的推移&#xff0c;Vue.js已經從Vue2發展到了Vue3&#xff0c;這兩個版本在**生命周期、模板組件以及性能**等方面有顯著差異。具體分析如下&#xff1a; 1. **生命周期** - **Vue…

恭喜朱雀橋的越南薇妮她牌NFC山竹汁飲料,成為霸王茶姬奶茶主材

朱雀橋NFC山竹汁飲料&#xff1a;榮登霸王茶姬奶茶主材&#xff0c;非遺傳承的天然之選 近日&#xff0c;據小編了解到&#xff1a;霸王茶姬欣喜地宣布&#xff0c;成功與朱雀橋達成合作越南薇妮她VINUT牌NFC山竹汁飲料。這款商超產品憑借其卓越的品質與獨特的口感&#xff0c…

PostgreSQL安裝教程及文件介紹

Ubuntu 安裝和配置 PostgreSQL 以 Ubuntu Server 20.04&#xff0c;PostgreSQL 12 版本為例。 1. 安裝 使用如下命令&#xff0c;安裝指定版本的 PostgreSQL sudo apt install postgresql-12在 Ubuntu 20.04 中安裝 PostgreSQL 登錄您的 Ubuntu 系統并使用以下 apt 命令更新…

Java web應用性能分析之【prometheus監控指標體系】

Java web應用性能分析之【系統監控工具prometheus】_javaweb服務器性能監控工具-CSDN博客 Java web應用性能分析之【prometheusGrafana監控springboot服務和服務器監控】_grafana 導入 prometheus-CSDN博客 因為篇幅原因&#xff0c;前面沒有詳細說明Prometheus的監控指標&…

將手機上的已安裝應用拷貝出到電腦中

方法一&#xff1a;通過應用管理器 下載并安裝應用管理器&#xff1a;可以使用應用管理器如“ES文件瀏覽器”或“APK Extractor”。 提取APK文件&#xff1a; 打開應用管理器。 找到已安裝的應用程序列表。 選擇你想要提取的應用程序&#xff0c;然后選擇“提取”或“備份”選…

數據結構 —— 哈夫曼樹

數據結構 —— 哈夫曼樹 哈夫曼樹定義構造算法特性應用 哈夫曼編碼核心概念工作原理特點 我們今天來看哈夫曼樹&#xff1a; 哈夫曼樹 哈夫曼樹&#xff08;Huffman Tree&#xff09;&#xff0c;是一種特殊的二叉樹&#xff0c;由D.A. Huffman在1952年提出&#xff0c;主要用…

[面試題]計算機網絡

[面試題]Java【基礎】[面試題]Java【虛擬機】[面試題]Java【并發】[面試題]Java【集合】[面試題]MySQL[面試題]Maven[面試題]Spring Boot[面試題]Spring Cloud[面試題]Spring MVC[面試題]Spring[面試題]MyBatis[面試題]Nginx[面試題]緩存[面試題]Redis[面試題]消息隊列[面試題]…

ES報錯:解決too_many_clauses: maxClauseCount is set to 1024 報錯問題

解決too_many_clauses: maxClauseCount is set to 1024 報錯問題 問題場景報錯信息問題分析解決1. 優化查詢2. 增加maxClauseCount3. 改用其他查詢類型修改后的查詢示例 問題場景 查詢語句&#xff1a;查詢clcNo分類號包含分類O的所有文檔 {"match_phrase_prefix":…

社會與網絡的討論#1

“拒絕心靈雞湯” 都說人人平等&#xff0c;那請問一個有錢人看到一個掃大街的&#xff0c;能有幾個保證不產生厭惡感的&#xff1f; 你能確保&#xff0c;你的工資會比有關系的人的工資高嗎&#xff1f; 你進入公司&#xff0c;有有關系的人進入的方便嗎&#xff1f; 在學…

特產零售元宇宙:探索虛擬世界的商業機遇

在數字化時代&#xff0c;元宇宙作為一個全新的虛擬世界&#xff0c;正在逐漸改變我們的生活方式和商業模式。隨著技術的不斷發展&#xff0c;特產零售業也開始嘗試進入這個充滿無限可能的新領域。本文將探討特產零售元宇宙的概念、優勢以及面臨的挑戰&#xff0c;并分析其未來…

WAIC2024 | 華院計算邀您共赴2024年世界人工智能大會,見證未來科技革新

在智能時代的浪潮洶涌澎湃之際&#xff0c;算法已成為推動社會進步的核心力量。作為中國認知智能技術的領軍企業&#xff0c;華院計算在人工智能的廣闊天地中&#xff0c;不斷探索、創新&#xff0c;致力于將算法的潛力發揮到極致。在過去的時日里&#xff0c;華院計算不斷探索…

Java - Execl自定義導入、導出

1.需求&#xff1a;問卷星答 下圖框出區域&#xff0c;為用戶自定義字段問題及答案 2.采用技術EasyExcel 模板所在位置如下 /*** 導出模板** param response*/ Override public void exportTemplate(HttpServletResponse response) throws IOException {ClassPathResource c…

Metricbeat和Prometheus監控比較

Metricbeat和Prometheus是兩種常見的監控工具&#xff0c;它們都有收集和存儲系統和應用程序性能數據的功能&#xff0c;但它們的設計理念、實現方式和適用場景有所不同。以下是它們的相同點和不同點的詳細比較&#xff1a; 相同之處 數據收集&#xff1a; Metricbeat 和 Pro…

vue 使用 face-api.js 實現人臉識別

HTML 代碼如下 <div class="videoBox" id="videoBox"><video ref="videoPlayer" width="800" height="600" autoplay muted playsinline></video><canvas ref="overlay"></canvas>…

配置 Cmder 到鼠標右鍵

win Q 快捷鍵搜索 cmd&#xff0c;以管理員身份運行 在命令行輸入 cmder.exe /REGISTER ALL

OpenCloudOS開源的操作系統

OpenCloudOS 是一款開源的操作系統&#xff0c;致力于提供高性能、穩定和安全的操作系統環境&#xff0c;以滿足現代計算和應用程序的需求。它結合了現代操作系統設計的最新技術和實踐&#xff0c;為開發者和企業提供了一個強大的平臺。本文將詳細介紹 OpenCloudOS 的背景、特性…

品牌進行3D數字化轉型,有哪些優勢?

各行業都在經歷著從增量市場向存量市場的轉變&#xff0c;同時用戶的消費觀念也日趨成熟&#xff0c;更加注重產品的體驗和服務質量。 無論是線上購物平臺還是線下實體門店&#xff0c;提供個性化和增強體驗感的產品與服務已成為未來發展的核心驅動力&#xff0c;品牌轉型也迫…

SyncFolders文件備份—辦公人員必備

SyncFolders支持在兩個或多個文件夾之間同步文件&#xff0c;用戶可以將重要文件同步到多個位置&#xff0c;如備份硬盤、網絡共享文件夾或云存儲等。通過設定同步規則&#xff0c;可以自動備份和同步更新&#xff0c;減少手動操作的繁瑣&#xff0c;確保文件的安全和可訪問性。…