Toybrick

主动模式、被动模式推理速度相差比较大

liuwenhua

中级会员

积分
378
楼主
发表于 2020-4-17 15:54:43    查看: 11397|回复: 7 | [复制链接]    打印 | 只看该作者
我在做模型推理时,被动模式600ms,主动模式1900ms,在推理时,这两种模式有什么区别吗?
回复

使用道具 举报

jefferyzhang

版主

积分
13574
沙发
发表于 2020-4-17 16:06:03 | 只看该作者
没有区别,被动模式多一个传输时间。
请仔细核对rknn-toolkit版本、是否量化、输入的大小,还有你计算的是什么的时间,推理时间还是从init开始的时间
回复

使用道具 举报

liuwenhua

中级会员

积分
378
板凳
 楼主| 发表于 2020-4-17 16:53:02 | 只看该作者
被动模式是1.3.0,主动模式是1.2.0,确认是量化的,输入图片是同一张图,推理时间是如下代码
t = time.time()
output = rknn.inference(inputs=[frame], data_format="nchw")
print("time:", time.time()-t)
回复

使用道具 举报

jefferyzhang

版主

积分
13574
地板
发表于 2020-4-17 17:09:24 | 只看该作者
本帖最后由 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

中级会员

积分
378
5#
 楼主| 发表于 2020-4-17 17:23:30 | 只看该作者
jefferyzhang 发表于 2020-4-17 17:09
那你估计多出来时间是传输耗时。
被动模式你这么算的时间是 图片传送给NPU + NPU运算 + 结果返回给上位机 ...

测试我是做的while循环,每次时间基本相同,但是主动模式推理时间好长
回复

使用道具 举报

jefferyzhang

版主

积分
13574
6#
发表于 2020-4-17 17:37:24 | 只看该作者
本帖最后由 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

中级会员

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

好的,谢谢,期待新版本的发布
回复

使用道具 举报

leok

版主

积分
894
8#
发表于 2020-4-26 18:38:53 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表