Toybrick

标题: yolov4预训练模型生成的.rknn后,推理出现问题,看提示是输... [打印本页]

作者: liufeng    时间: 2020-8-20 20:23
标题: yolov4预训练模型生成的.rknn后,推理出现问题,看提示是输...
toybrick@debian10:~/yolov3_demo$ python3 rknn_picture_tiny.py
-->loading model
loading model done
--> Init runtime environment
I NPUTransfer: Starting NPU Transfer Client, Transfer version 1.9.8 (40e4a8a@2020-01-02T09:16:20)
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 1.3.2 (9eebd73 build: 2020-04-02 15:30:36)
D RKNNAPI:   DRV: 1.3.0 (c4f8c23 build: 2019-11-25 10:39:29)
D RKNNAPI: ==============================================
done
E RKNNAPI: rknn_input_set,  inputs[0].buf wrong, buf = 0x23281160, size = 519168 (min_size = 1108992)!
E Catch exception when setting inputs.
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 1162, in rknn.api.rknn_base.RKNNBase.inference
E   File "rknn/api/rknn_base.py", line 1077, in rknn.api.rknn_base.RKNNBase.set_inputs
E   File "rknn/api/rknn_runtime.py", line 468, in rknn.api.rknn_runtime.RKNNRuntime.set_inputs
E Exception: Set inputs failed. error code: RKNN_ERR_PARAM_INVALID
Traceback (most recent call last):
  File "rknn_picture_tiny.py", line 224, in <module>
    out_boxes, out_boxes2 = rknn.inference(inputs=[mat])
TypeError: cannot unpack non-iterable NoneType object

哪位同仁成功尝试了其他版本的yolov4模型的推理吗?


作者: jefferyzhang    时间: 2020-8-20 22:06
驱动版本太低
作者: liufeng    时间: 2020-8-21 09:09
jefferyzhang 发表于 2020-8-20 22:06
驱动版本太低

你好,这个驱动版本用你们提供的yolov3训练好的模型是正常推理的,yolov4也是应该支持的吧?
作者: liufeng    时间: 2020-8-21 09:12
jefferyzhang 发表于 2020-8-20 22:06
驱动版本太低

yolov4预训练模型的rknn生成好了,只是推理提示说输入buf的size过小,小于规定最小的min_size?
作者: liufeng    时间: 2020-8-21 14:20
jefferyzhang 发表于 2020-8-20 22:06
驱动版本太低

问题解决了,应该不是驱动问题,不过还是感谢。从解决问题的地方来看是参照修改的rknn_transform_yolov4.py里的量化函数rknn.build里的参数dataset没设置对,修改成608x608的就顺利完成了推理函数,不过新问题来了,看着是数组不匹配导致,但已经有思路。
toybrick@debian10:~/yolov3_demo$ python3 rknn_picture_608x608.py
-->loading model
loading model done
--> Init runtime environment
I NPUTransfer: Starting NPU Transfer Client, Transfer version 1.9.8 (40e4a8a@2020-01-02T09:16:20)
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI:   API: 1.3.2 (9eebd73 build: 2020-04-02 15:30:36)
D RKNNAPI:   DRV: 1.3.0 (c4f8c23 build: 2019-11-25 10:39:29)
D RKNNAPI: ==============================================
done
Traceback (most recent call last):
  File "rknn_picture_608x608.py", line 227, in <module>
    out_boxes = out_boxes.reshape(SPAN, LISTSIZE, GRID0, GRID0)
ValueError: cannot reshape array of size 1472880 into shape (3,85,19,19)
作者: yanggui    时间: 2020-9-23 09:04
楼上的问题解决了嘛?
作者: brunolin    时间: 2020-9-23 16:37
yanggui 发表于 2020-9-23 09:04
楼上的问题解决了嘛?

若以608x608來說,YOLOv3的三個輸出是19x19, 38x38, 76x76
YOLOv4是76x76, 38x38, 19x19,和v3是相反的

作者: YeeLearn    时间: 2020-10-23 11:39
brunolin 发表于 2020-9-23 16:37
若以608x608來說,YOLOv3的三個輸出是19x19, 38x38, 76x76
YOLOv4是76x76, 38x38, 19x19,和v3是相反的
...

请问yolov4预测和v3除了三个head顺序不同,还有其它问题吗
作者: brunolin    时间: 2020-10-23 15:16
YeeLearn 发表于 2020-10-23 11:39
请问yolov4预测和v3除了三个head顺序不同,还有其它问题吗

用rknn-toolkit v1.4.0來轉檔,並且驅動版本要>1.3以上。這樣應該沒有其他問題
唯一的問題就是推理時間太長。
作者: YeeLearn    时间: 2020-10-23 16:05
brunolin 发表于 2020-10-23 15:16
用rknn-toolkit v1.4.0來轉檔,並且驅動版本要>1.3以上。這樣應該沒有其他問題
唯一的問題就是推理時間太 ...

我用激活函数mish的yolov4检测不到目标,激活函数leaky的yolov4可以正常检测,不知道你那边是不是用到了mish激活函数?模型都是darknet仓库model zoo下载的模型。
作者: Isleak    时间: 2020-11-15 16:25
liufeng 发表于 2020-8-21 14:20
问题解决了,应该不是驱动问题,不过还是感谢。从解决问题的地方来看是参照修改的rknn_transform_yolov4. ...

数组不匹配问题怎么解决?
作者: brunolin    时间: 2020-11-20 15:45
YeeLearn 发表于 2020-10-23 16:05
我用激活函数mish的yolov4检测不到目标,激活函数leaky的yolov4可以正常检测,不知道你那边是不是用到了m ...

我拿兩種激活函數(mish和leaky)的YOLOv4模型轉檔後都可以運行和檢測。
作者: gtfaiwxm    时间: 2020-11-24 14:44
你使用激活函数leaky的yolov4可以正常检测的检测结果和转换前的yolov4模型预测结果一致吗?@YeeLearn
作者: gtfaiwxm    时间: 2020-11-24 14:46
你使用leaky的yolov4检测到的结果和yolov4原模型的检测结果一致吗?
作者: YeeLearn    时间: 2020-12-14 09:57
gtfaiwxm 发表于 2020-11-24 14:44
你使用激活函数leaky的yolov4可以正常检测的检测结果和转换前的yolov4模型预测结果一致吗?@YeeLearn ...

没有细致对比过




欢迎光临 Toybrick (http://t.rock-chips.com/) Powered by Discuz! X3.3