項目中需要使用工業(yè)級的AI處理板房资,因此考慮采用ZLG的基于rk1808平臺的開發(fā)板小染。詳細的文檔介紹可以看這里M1808文檔地址
準備階段
-
設置PC的固定地址和M1808處于同一網段
-
通過ssh連接到M1808開發(fā)板
ip:192.168.1.136
用戶名:root
密碼:root
測試用例
配置rknn模型轉換環(huán)境
參看了ZLG官網給出的教程冈爹,個人猜測應該就是rknn標準的toolkit安裝方式巡社,因此我沒有按照他這個教程重新安裝现横,而是直接使用了rknn官網給出的鏡像安裝方式椿访,畢竟docker方式比較簡單乌企,而且不容易出錯。docker安裝方式參見 rk1808s-使用記錄-
以yolov3為例測試模型轉換
從ZLG的官網下載用例成玫,放到安裝了docker環(huán)境的機器上逛犹,執(zhí)行
python rknn_transform_416x416.py
可以得到轉換后的模型端辱。轉換如果開啟量化那么時間會比較久,要耐心等待虽画。不開啟轉換的模型大概是119M,開啟量化之后荣病,轉換后的模型大概是61M码撰。
配置交叉編譯環(huán)境
ZLG官網提供了vmware的虛擬機鏡像,但是為什么提供的不是docker的8雠琛2钡骸!颊亮!
所以決定自己動手安裝官網教程配置一個docker 版本的linux的交叉編譯環(huán)境柴梆。
Docker version 19.03.12
【光盤資料】M1808-T 在線資料包 V1.05
鏈接:https://pan.baidu.com/s/1C0XZ-D1FXMg2lW4hl4h53g
提取碼:rknn-
部署yolov3到M1808
/opt/zlg/m1808-sdk-v1.3.1-ga/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib
這里遇到一個坑,load模型的時候報錯终惑。報錯的原因是ZLG給出的板子的固件沒有升級绍在,升級了一下固件就可以了
。
刷完固件后
[root@M1808 release]# cat /timestamp
built by root on sphinx at 2020-06-30 04:42:40
然后把交叉編譯好的可執(zhí)行文件放到ZLG的板子上進去就好了雹有,這里也要注意下對于so的依賴偿渡,總共有如下:
librknn_api.so
libjasper.so.4
libjpeg.so.62
libtiff.so.5
libopencv_core.so.3.4.3
libopencv_imgcodecs.so.3.4.3
libopencv_imgproc.so.3.4.3
如果在ZLG給的板子上找不到以上這些so,那么都可以在交叉編譯環(huán)境中找到霸奕!不要用ZLG官網給出例子里面的A锟怼!V仕А适揉!因為有可能環(huán)境不一致!C撼汀<掂帧!盟庞!
一切準備就緒吃沪,就可以把模型放上去就可以運行了,剩下的就是正常的C++開發(fā)套路了什猖。最后的運行效果:
總結
因為核心板畢竟還是RK1808部分票彪,所以對于RK官網給出的1808文檔還是要仔細看一下,另外ZLG的支持還算比較快不狮。