Toybrick

mobilenet 批量测试出错!

someone9388

注册会员

积分
86
发表于 2019-2-25 18:55:32    查看: 6402|回复: 7 | [复制链接]    打印 | 显示全部楼层
你好,根据官方提供的例子mobilenet 可以跑通,想进行批量化性能测试,在sample 中把inputs 和 outputs 的数组批量初始化,
但是ret 返回-5, 不知道什么意思,rknn_api 文档中只写了变量和解释的对应关系,没有返回数值和变量的对应关系。

另外,想问一下,在NPU 上,批量化inputs,再进行单次inference 应该是要比单个inputs ,再单次inference要好吧!

谢谢!
回复

使用道具 举报

someone9388

注册会员

积分
86
 楼主| 发表于 2019-2-25 19:00:33 | 显示全部楼层
已在头文件中找到了返回值的含义,麻烦告知一下如何进行批量测试。多谢!
回复

使用道具 举报

jefferyzhang

版主

积分
12844
发表于 2019-3-7 09:38:29 | 显示全部楼层
rknn只能一个一个送进去计算,不支持批量送
回复

使用道具 举报

771488533

注册会员

积分
174
发表于 2019-3-8 09:09:28 | 显示全部楼层
jefferyzhang 发表于 2019-3-7 09:38
rknn只能一个一个送进去计算,不支持批量送

这功能这么弱吗,连批量计算都不支持,有没有支持批量计算的计划?
回复

使用道具 举报

jefferyzhang

版主

积分
12844
发表于 2019-3-8 12:15:17 | 显示全部楼层
771488533 发表于 2019-3-8 09:09
这功能这么弱吗,连批量计算都不支持,有没有支持批量计算的计划?

批量送和一个个送效果是一样的,npu只是一个计算单元,送一批也是要一个个计算,没太大区别,反而送多了会造成npu那边2g的DDR爆掉。
貌似npu那边没有支持批量送的计划。。。

话说一个个送对于异步拆分处理流水线是有更好的帮助的,一批送的做法并不能提高程序效率。
回复

使用道具 举报

771488533

注册会员

积分
174
发表于 2019-3-8 14:51:15 | 显示全部楼层
jefferyzhang 发表于 2019-3-8 12:15
批量送和一个个送效果是一样的,npu只是一个计算单元,送一批也是要一个个计算,没太大区别,反而送多了 ...

不知道是不是NPU和GPU的区别,隔壁nvidia的tensorRT批量计算的话实测下来是比单个推送计算节省时间的
回复

使用道具 举报

771488533

注册会员

积分
174
发表于 2019-3-13 16:45:59 | 显示全部楼层
jefferyzhang 发表于 2019-3-8 12:15
批量送和一个个送效果是一样的,npu只是一个计算单元,送一批也是要一个个计算,没太大区别,反而送多了 ...

我猜测在开发板上做推理运算,NPU运算结果送到顶层需要有其它的时间开销,这个时间不会很久,但是如果批量数比较大的话这个节省的时间就很可观了
回复

使用道具 举报

jefferyzhang

版主

积分
12844
发表于 2019-3-14 08:53:35 | 显示全部楼层
771488533 发表于 2019-3-13 16:45
我猜测在开发板上做推理运算,NPU运算结果送到顶层需要有其它的时间开销,这个时间不会很久,但是如果批 ...

GPU是通用计算单元,每个cuda计算单元是通用独立的,npu比较专一,卷积运算器就只能做卷积运算。
这里有成本和功耗原因在里头
回复

使用道具 举报

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

本版积分规则

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


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