開發板采用核心板+底板結構,在我們的資料里提供了底板的原理圖工程以及PCB工程,可以實現真正意義上的裁剪、定制屬于自己的產品,滿足更多應用場合。
迅為針對RK3576開發板整理出了相應的開發流程以及開發中需要用到的資料,并進行詳細的說明。快速定位需要使用的文檔,大大提升研發速度。
迅為iTOP-3576開發板采用瑞芯微RK3576高性能、低功耗的應用處理芯片,集成了4個Cortex-A72和4個Cortex-A53核心,以及獨立的NEON協處理器。它適用于ARM PC、邊緣計算、個人移動互聯網設備及其他多媒體產品。
2.2.2 連板推理
連板推理是?rknn-toolkit2?除了模型轉換之外的第二個重要功能,所謂連板推理就是指通過
燒寫線和?adb?功能將開發板和安裝好?rknn-toolkit2?的?Linux?系統連接起來,將要推理的圖片或
者其他數據傳輸到開發板上進行?NPU?推理,最后返回推理得到的數據。
連板推理的使用有兩個前提條件,首先是開發板系統上已經裝好了?adb,并且連接到安裝
好?rknn-toolkit2?的?Linux?系統。
迅為提供的?buildroot、ubuntu?以及?debian?默認都會啟用?adb?功能,可以在?Windows?系統
中的燒錄軟件中或者設備管理器中查看是否有?ADB?設備連接,如下圖所示:
然后將?adb?設備連接到裝有?rknn-toolkit2?的?Linux?系統,我這里使用的是虛擬機,可以通
過虛擬機軟件的可移動設備選項來將?ADB?從?windows?轉移到?ubuntu?上,如下圖所示:
連接完成之后會在任務欄出現一個手機的圖標如下圖所示:
然后在終端輸入“adb devices”命令后,有對應的設備連接列表即可證明?adb?連接成功:
使用連板推理的第二個個前提條件為開發板系統上有?rknn_server?可執行程序以及推理要
用到的庫?librknnrt.so,rknn_server?可以接收?adb?傳來要推理的數據以及將推理完成的結果返
回到裝有?rknn-toolkit2?的?Linux?系統,rknn_server?和?librknnrt.so?前面已經講解了具體存放位置,
分別為?rknn-toolkit2/rknpu2/runtime/Linux/rknn_server/aarch64/usr/bin?和?rknn-toolkit2/rknpu2/
runtime/Linux/librknn_api/aarch64?目錄下如下圖所示:
然后將?rknn_server?和?librknnrt.so?拷貝到開發板上,其中?rknn_server?需要拷貝到/usr/bin
目錄下,而?librknnrt.so?要拷貝到/usr/lib?目錄,ubuntu?和?debian?系統默認已經有了?rknn_server
和?librknnrt.so,但是版本是?1.5?的,只有?rknn-toolkit2、rknn_server?和?librknnrt.so?三個版本保
持一致,才能得到正確的推理結果,所以不論使用的是什么系統,都需要重新拷貝。
拷貝完成之后在開發板上運行?rknn_server,如下圖所示:
然后修改?resnet18?例程中的?test.py,在第?87?行的?init_runtime?接口中添加?target=’rk3576’,
指定推理方式為連板推理,且設備?SOC?為?RK3576,修改完成如下圖所示:
然后保存退出,使用?python3?運行修改過的?test.py,
最終運行結果如下圖所示:
從推理結果可以看出,推理結果為?space shuttle?航天飛機,推理結果正確,連板推理這種方式在后面的?rknn_model_zoo?中會經常用到,所以本章節的內容非常重要。