airockchip / rknn_model_zoo

Apache License 2.0
1.05k stars 192 forks source link

rknn里的yolo能支持图像尺寸为1280*1280的模型吗? #122

Closed reallijie closed 6 months ago

reallijie commented 6 months ago

我想用YOLOv5 训练图像尺寸为1280的模型来识别较小物体: python train.py --cfg models/yolov5s.yaml --data data/dataset.yaml --workers 0 --batch-size 32 --weights ./yolov5s.pt --img 1280 导出onnx成功、从onnx转换rknn成功。

但是在执行example里的程序时,rknn_model_zoo/py_utils/rknn_executor.py里的 result = self.rknn.inference(inputs=inputs) 这句代码输出了一个告警 W RKNNAPI: warning: inputs[0] expected input len is 1228800, but actual len is 4915200!

rknn能支持图像尺寸1280的yolo模型吗?能给个例子吗?

reallijie commented 6 months ago

经过QQ群里的专家指导,问题已经解决,在导出onnx时,没有指定--img 参数。整体流程就是这样子的: 1、下载 https://github.com/airockchip/yolov5 里的代码 2、装好依赖之后用 python train.py --cfg models/yolov5s.yaml --data data/dataset.yaml --workers 0 --batch-size 32 --weights ./yolov5s.pt --img 1280训练模型 3、转成onnx模型时,如果图像尺寸不是默认的640,就需要指定 --img参数: python export.py --weights runs/train/exp9/weights/best.pt --include onnx --rknpu rk3588 --img 1280 后续转换成rknn,执行目标检测,参考文档即可。