训练自己的yolov5样本, 并部署到rv1126 <三>
还是那句话, 一步一个坑, 中间有多少坑我就不说了, 绝大部分问题跟py的版本有关系, 少部分跟之前的转码的脚本的问题, 好在现在都趟过去了, 如果你遇到模型转换的问题, 进来一步步走一遍, 不行的话, 你抽我...
接下来是戏核(hu)部分..
准备好训练好的yolov5的pt文件,
可以用Netron打开看看大概长啥样:
继续在py38的环境里面, 先转成onnx
python export.py --rknpu rv1126 --weight runs/train/exp4/weights/best.pt --include onnx
理论上不会有报错, 输出的onnx格式模型, 放在刚才的best.pt的目录.
再用Netron看看onnx模型
到这里, 相信很多人都没啥问题, 关键是确认一下:
- Conv现在是3x3或者2x2的, 因为npu优化过3x3
- 激活函数现在是relu, 因为算起来够快…
接下来转rknn我是在ubuntu虚拟机/物理机下面实现的.
建一个py36的环境
conda create -n rknn_py36 python=3.6
conda activate rknn_py36
下载rknn的1.7.1的安装包
wget https://github.com/rockchip-linux/rknn-toolkit/releases/download/v1.7.1/rknn-toolkit-v1.7.1-packages.tar.gz
解压之后, 先确认目前python是3.6版本.
安装rknn的依赖.
tax rknn-toolkit-v1.7.1-packages.tar.gz
cd packages
pip install -r requirements-cpu.txt
祝你有个好梯子, 或者, 可以在pip后面加上清华的源, 方法自行百度一下吧, 还挺简单的.
如果你是把ubuntu装在ubuntu的物理机上, 而又有显卡加成, 那你可以直接装requirement-gpu
如果提示你有冲突, 说torchvision 0.4.0仅仅支持torch==1.2.0, 直接修改requirement-cpu.txt, 把torchvision的版本改成
The conflict is caused by:
The user requested torch==1.5.1
torchvision 0.4.0 depends on torch==1.2.0
去这个网页, 查一下torch 1.5.1对应torchvision是0.6.1
装好依赖之后, 再根据你所在的环境, 安装对应的轮子:
因为我是在ubuntu上面的py36, 所以直接运行
pip install rknn_toolkit-1.7.1-cp36-cp36m-linux_x86_64.whl
aach64是安装在arm-64的系统上的, 因为这是python的脚本,或者叫做库, 所以是可以直接在rv/rk系列的开发板上装的, 就是之前写的python版本的rknn-tool-kit方案, 基于debian或者ubuntu的.
这部分也基本上没啥大问题.
还是那句话, 如果太慢, 就用想办法用用国内的pip源吧
一般来说, 不会报错(除了刚才说的需要修改torchvision的版本部分).
查看rknn是否安装成功.
(rknn_py36)marc@ubuntu:~/rknn_model_zoo/models/CV/object_detection/yolo/RKNN_model_convert$ python
Python 3.6.13 |Anaconda, Inc.| (default, Jun 4 2021, 14:25:59)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from rknn.api import RKNN
>>>
进入python的命令行, 直接import rknn, 如果不报错, 表示rknn安装成功.
确认板子的rknn的版本
用串口或者ssh登录到板子上.
[root@RV1126_RV1109:/]# strings /usr/lib/librknn_api.so |grep version
_version
librknn_api version 1.7.3 (cf7f05f build: 2022-08-13 09:45:04)
.gnu.version
.gnu.version_r
[root@RV1126_RV1109:/]# strings /usr/lib/librknn_runtime.so|grep version
rknn_get_sdk_version
pre_compile_version
optimization_level_version
op_version
I [%s:%d]custom op version: %d
E [%s:%d] rknn_query, info_len(%d) != sizeof(rknn_sdk_version)(%d)!
librknn_runtime version 1.7.3 (2e55827 build: 2022-08-25 10:45:32 base: 1131)
//int8 version
W [%s:%d]Unsupported evis version
E [%s:%d]unsupport kernel size:%d/dilation:%d/evis version:%d
.gnu.version
.gnu.version_r
可以看到rknn_api是1.7.3版本的, runtime也是1.7.3
这里面还涉及一个mini drive的问题, 先不用管它.
到这一步, rknn装好了.
- 分享
- 举报
-
浏览量:3412次2022-11-22 10:37:11
-
浏览量:2886次2022-11-22 09:26:53
-
浏览量:4079次2022-10-31 15:07:27
-
浏览量:1661次2024-01-18 18:05:38
-
浏览量:7893次2022-07-29 18:09:52
-
浏览量:2015次2024-01-05 17:00:10
-
浏览量:1785次2024-02-20 13:54:36
-
浏览量:1482次2024-02-05 10:41:25
-
浏览量:1747次2024-01-22 17:46:51
-
浏览量:1394次2024-02-23 17:41:04
-
浏览量:1428次2024-01-05 16:46:11
-
浏览量:1165次2023-12-19 16:06:28
-
浏览量:628次2023-06-03 16:03:04
-
浏览量:1081次2023-06-02 17:42:09
-
浏览量:968次2023-08-29 12:54:00
-
浏览量:1536次2023-05-05 14:55:59
-
浏览量:1193次2023-12-27 15:46:55
-
浏览量:2066次2024-01-05 14:11:13
-
浏览量:6187次2022-10-24 14:44:33
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Marc
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明