Toybrick

标题: 主动模式、被动模式推理速度相差比较大 [打印本页]

作者: liuwenhua    时间: 2020-4-17 15:54
标题: 主动模式、被动模式推理速度相差比较大
我在做模型推理时,被动模式600ms,主动模式1900ms,在推理时,这两种模式有什么区别吗?

作者: jefferyzhang    时间: 2020-4-17 16:06
没有区别,被动模式多一个传输时间。
请仔细核对rknn-toolkit版本、是否量化、输入的大小,还有你计算的是什么的时间,推理时间还是从init开始的时间
作者: liuwenhua    时间: 2020-4-17 16:53
被动模式是1.3.0,主动模式是1.2.0,确认是量化的,输入图片是同一张图,推理时间是如下代码
t = time.time()
output = rknn.inference(inputs=[frame], data_format="nchw")
print("time:", time.time()-t)
作者: jefferyzhang    时间: 2020-4-17 17:09
本帖最后由 jefferyzhang 于 2020-4-17 17:10 编辑
liuwenhua 发表于 2020-4-17 16:53
被动模式是1.3.0,主动模式是1.2.0,确认是量化的,输入图片是同一张图,推理时间是如下代码
t = time.time ...

那你估计多出来时间是传输耗时。
被动模式你这么算的时间是 图片传送给NPU + NPU运算 + 结果返回给上位机的时间;
主动模式你这么计算的时间只有  NPU运算 时间。

还有不管哪个测试,你都要测试100次取平均,因为返回的结果是异步的,第一次时间是不准的

作者: liuwenhua    时间: 2020-4-17 17:23
jefferyzhang 发表于 2020-4-17 17:09
那你估计多出来时间是传输耗时。
被动模式你这么算的时间是 图片传送给NPU + NPU运算 + 结果返回给上位机 ...

测试我是做的while循环,每次时间基本相同,但是主动模式推理时间好长
作者: jefferyzhang    时间: 2020-4-17 17:37
本帖最后由 jefferyzhang 于 2020-4-17 17:39 编辑
liuwenhua 发表于 2020-4-17 17:23
测试我是做的while循环,每次时间基本相同,但是主动模式推理时间好长

1. usb是不是u3的,还是u2的
2. 传输图片多大
3. 排除上两个问题后,主动模式rknn 新版快发布了,到时候可以再试下,毕竟你用的这个rknn 1.2.0 很旧了,我们也有发现一些问题。

刚才也说了:
被动模式的inference函数 = 传输input + 推理 + 传回结果
主动模式的inference函数 = 推理
刚看明白,你居然主动模式比被动模式还慢<.< ,不可思议

作者: liuwenhua    时间: 2020-4-17 17:50
jefferyzhang 发表于 2020-4-17 17:37
1. usb是不是u3的,还是u2的
2. 传输图片多大
3. 排除上两个问题后,主动模式rknn 新版快发布了,到时候可 ...

好的,谢谢,期待新版本的发布
作者: leok    时间: 2020-4-26 18:38
https://github.com/rockchip-linux/rknn-toolkit/
1.3.2版本已发布。




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