处理好rknn之后, clone一下github上的rk的model_zoo最新的的版本.
git clone https://github.com/airockchip/rknn_model_zoo.git确认是最近的提交:
确定一下的确是最新的版本2022年11月16日更新的.
进入datasets/COCO目录, 下载量化用的coco图片.
~/rknn_model_zoo/$ cd datasets\COCO~/rknn_model_zoo/datasets/COCO$ python download_eval_dataset.py脚本会自动下载coco数据集val2017约5000张照片
同时会生成几个txt文件, 后面我们会用到.
把训练并转好的onnx的模型权重, 复制到虚拟机的model zoo目录或者任意目录, 把板子连到虚拟机上, 用adb devices -l查询一下设备id
注意, 这里可能存在一种情况是, 如果你板子刷了易百纳的固件, 可能接入虚拟机的时候, 会反复断开, 你可能需要直接找台机器, 直接装ubuntu而不是使用虚拟机, 或者是尝试重新编译固件烧录进去.使用adb 查询设备的devicei id, 如果没有安装adb 直接用apt安装即可
(rknn_py36) marc@ubuntu:~/rknn_model_zoo/models/CV/object_detection/yolo/RKNN_model_convert$ adb devices –lList of devices attachedadb server version (40) doesnt match this client (39); killing…* daemon started successfullya9d00ab1f032c17a device usb:1-1 product:occam model:Nexus_4 device:mako transport_id:1这个a9d00ab1f032c17a就是你的板子的device id
在ubuntu下面, 使用vscode打开models/CV/yolo/RKNN_model_convert里面的yolov5_yolov7.yml
修改一下内容(注意, 这里修改的时候别用#对脚本进行注释, 直接改, 如果不放心, 可以先把整个文件备份, 别用#注释, 记住!!!):
model_framework: onnx
model_file_path: safe_hat.onnx
dataset: …/…/…/…/datasets/COCO/coco_dataset_1.txt
如果ubuntu是物理机, 可以连接你的板子的otg口, 就添加板子的device id
deivce_id: xxxxxxx
其他不变, 改好之后是这样的:
这里我直接把转好的safe_hat.onnx复制到了这个yaml所在的目录
同时参考这个目录下面的README,终于到了最后的关键部分:
$ python ../../../../../common/rknn_converter/rknn_convert.py —yml_path ./yolov5.yml —python_api_test —capi_test如果你重复执行这个脚本, 会在一开始问你是否要覆盖掉原来转好的rknn模型, 如果不用保留原来的模型, 直接输入Y即可.
没有意外的话, 模型就转好了, 转好的模型就在这个目录的model_cvt目录下面了.
如果遇到下面的错误, 多半原因是你的板子没有连到ubuntu上, 就只会生成一个没有预编译的模型, 推理速度会慢20%-30%
如果提示没有安装onnxruntime, 直接用pip安装onnxruntime即可.
查看模型
用ntron.app查看转好的rknn
接下来就是使用python或者c的demo程序, 直接对模型进行推理测试了, 就留到下个星期吧.
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:训练自己的yolov5样本, 并部署到rv1126 <四>-yolov5模型部署 https://www.yhzz.com.cn/a/9558.html