以下情況在RV1106G3的平臺上驗證正常。
1、conda安裝
?? ?1)conda --version//確認是否安裝
?? ?2)創建一個安裝目錄,進行下一步
?? ?3)wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh
?? ?4)安裝miniconda
?? ??? ?chmod 777 Miniconda3-4.6.14-Linux-x86_64.sh
?? ??? ?bash Miniconda3-4.6.14-Linux-x86_64.sh
?? ?5)source ~/miniconda3/bin/activate
?? ??? ?conda的一些指令:
?? ??? ?conda create -n RKNN-Toolkit2 python=3.8 //新建環境
?? ??? ?conda activate RKNN-Toolkit2 //激活環境
?? ??? ?conda deactivate //退出環境
?? ??? ?conda info --envs //查看已經創建的環境
?? ?6)創建環境
?? ??? ?conda create -n RKNN-Toolkit2 python=3.8//新建環境
?? ??? ?conda activate RKNN-Toolkit2//激活環境
?? ??? ?python --version//確認python的版本
?? ??? ?以下都在conda環境進行,基于python3.8
?? ??? ?git clone https://github.com/rockchip-linux/rknn-toolkit2.git
?? ??? ?
?? ??? ?cd rknn-toolkit2
?? ??? ?pip install tf-estimator-nightly==2.8.0.dev2021122109?
?? ??? ?pip install -r rknn-toolkit2/packages/requirements_cp38-1.6.0.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
?? ??? ?pip install rknn-toolkit2/packages/rknn_toolkit2-1.6.0+81f21f4d-cp38-cp38-linux_x86_64.whl
?? ??? ?
?? ??? ?python
?? ??? ?>>> from rknn.api import RKNN
?? ??? ?運行成功。
?? ??? ?
? ? ? ?
2、模型訓練
?? ?git clone https://github.com/airockchip/yolov5.git
?? ?cd yolov5
?? ?
?? ?創建conda環境yolov5:conda create -n yolov5 python=3.9
?? ?conda activate yolov5
?? ?pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
?? ?pip install -r requirements.txt
?? ?
?? ?#測試模型檢測是否正常
?? ?python detect.py --source ./data/images/ --weights yolov5s.pt ?
?? ?
?? ?#轉為onnx
?? ?#####這里的pt文件可以從別的地方訓練好,在這邊來轉為onnx
?? ?python export.py --rknpu --weight yolov5s.pt --img-size 320 320
?? ?
3、rknpu2驅動確認
?? ?dmesg | grep -i rknpu
?? ?//版本需要是v0.9.2以上
?? ?[root@luckfox root]# dmesg | grep -i rknpu
?? ?[ ? ?2.807065] RKNPU ff660000.npu: RKNPU: rknpu iommu device-tree entry not found!, using non-iommu mode
?? ?[ ? ?2.810135] RKNPU ff660000.npu: RKNPU: Initialized RKNPU driver: v0.9.2 for 20230825
?? ?[ ? ?2.810244] RKNPU ff660000.npu: dev_pm_opp_set_regulators: no regulator (rknpu) found: -19
?? ??? ?
?? ?驅動所在目錄:/oem/usr/lib,文件為librknnmrt.so,替換即可。
?? ??? ?
4、轉模
?? ?conda activate RKNN-Toolkit2
?? ?cd rk/luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn/convert
?? ?
?? ?python convert.py ../model/yolov5.onnx ../dataset/yolov5_dataset.txt ../model/yolov5_fzk.rknn Yolov5
?? ?python convert.py ../model/yolov5s_320x320.onnx ../dataset/yolov5_dataset.txt ../model/yolov5s_320x320.rknn Yolov5
5、luckfox_pico_rknn_example
?? ?git clone https://github.com/LuckfoxTECH/luckfox_pico_rknn_example.git
?? ?cd luckfox_pico_rknn_example/scripts/luckfox_onnx_to_rknn
?? ?
?? ?cd luckfox_pico_rknn_example
?? ?export LUCKFOX_SDK_PATH=/home/f/Desktop/rk/luckfox_rv1106g3/luckfox-pico
?? ?./build.sh
?? ?install的目錄復制到板卡 :
?? ?cd /0_fzk
?? ?./luckfox_pico_yolov5 ./model/yolov5.rknn?? ?
6、luckfox_pico_rkmpi_example
?? ?git clone https://github.com/LuckfoxTECH/luckfox_pico_rkmpi_example.git
?? ?cd luckfox_pico_rkmpi_example
?? ?export LUCKFOX_SDK_PATH=/home/f/Desktop/rk/luckfox_rv1106g3/luckfox-pico
?? ?./build.sh
?? ?install的目錄復制到板卡 :
?? ?cd /0_fzk
?? ?./luckfox_pico_rtsp_yolov5
?? ?vlc:
?? ?ffplay -fflags nobuffer -flags low_delay -rtsp_transport tcp rtsp://192.168.1.168/live/0
?? ?
7、npu的負載查看
?? ??? ?cat /proc/rknpu/load