Toybrick

标题: mobilenet 批量测试出错! [打印本页]

作者: someone9388    时间: 2019-2-25 18:55
标题: mobilenet 批量测试出错!
你好,根据官方提供的例子mobilenet 可以跑通,想进行批量化性能测试,在sample 中把inputs 和 outputs 的数组批量初始化,
但是ret 返回-5, 不知道什么意思,rknn_api 文档中只写了变量和解释的对应关系,没有返回数值和变量的对应关系。

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

谢谢!

作者: someone9388    时间: 2019-2-25 19:00
已在头文件中找到了返回值的含义,麻烦告知一下如何进行批量测试。多谢!
作者: jefferyzhang    时间: 2019-3-7 09:38
rknn只能一个一个送进去计算,不支持批量送
作者: 771488533    时间: 2019-3-8 09:09
jefferyzhang 发表于 2019-3-7 09:38
rknn只能一个一个送进去计算,不支持批量送

这功能这么弱吗,连批量计算都不支持,有没有支持批量计算的计划?
作者: jefferyzhang    时间: 2019-3-8 12:15
771488533 发表于 2019-3-8 09:09
这功能这么弱吗,连批量计算都不支持,有没有支持批量计算的计划?

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

话说一个个送对于异步拆分处理流水线是有更好的帮助的,一批送的做法并不能提高程序效率。
作者: 771488533    时间: 2019-3-8 14:51
jefferyzhang 发表于 2019-3-8 12:15
批量送和一个个送效果是一样的,npu只是一个计算单元,送一批也是要一个个计算,没太大区别,反而送多了 ...

不知道是不是NPU和GPU的区别,隔壁nvidia的tensorRT批量计算的话实测下来是比单个推送计算节省时间的
作者: 771488533    时间: 2019-3-13 16:45
jefferyzhang 发表于 2019-3-8 12:15
批量送和一个个送效果是一样的,npu只是一个计算单元,送一批也是要一个个计算,没太大区别,反而送多了 ...

我猜测在开发板上做推理运算,NPU运算结果送到顶层需要有其它的时间开销,这个时间不会很久,但是如果批量数比较大的话这个节省的时间就很可观了
作者: jefferyzhang    时间: 2019-3-14 08:53
771488533 发表于 2019-3-13 16:45
我猜测在开发板上做推理运算,NPU运算结果送到顶层需要有其它的时间开销,这个时间不会很久,但是如果批 ...

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




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