Toybrick

标题: Yolo 网络性能指标 [打印本页]

作者: farces    时间: 2019-10-28 12:02
标题: Yolo 网络性能指标
[attach]673[/attach]图1.tiny性能

[attach]674[/attach]
图2.yolo3全网络

yolo的网络性能怎么差别这么大?谁知道如何优化全网络的性能?

作者: jefferyzhang    时间: 2019-10-28 14:25
本帖最后由 jefferyzhang 于 2019-10-28 14:30 编辑

差异肯定是存在的,这俩网络运算复杂度差异本身就很大。

在RKNN的转换文档里有网络优化设计建议章节,可以参考下。
我提几个思路:

1. 硬件算子是Conv + Relu + maxpooling 是一个硬件算子,所以yolo里所有LeaklyRelu改为 Relu可以大大提高推理速度。
2. 尽量用3x3卷积,能提高速度(所有卷积都是可以拆成若干个3x3卷积集合的)
3. 减小input尺寸大小。
4. 量化(已经量化就请忽略。)
5. 多个计算棒并行等等

作者: farces    时间: 2019-10-28 14:52
jefferyzhang 发表于 2019-10-28 14:25
差异肯定是存在的,这俩网络运算复杂度差异本身就很大。

在RKNN的转换文档里有网络优化设计建议章节,可以 ...

好的,我试试,这个RK3399pro的板子,多个计算棒的方式肯定行不通,也不适用于最终的生产环境。多谢
作者: jefferyzhang    时间: 2019-10-28 14:54
farces 发表于 2019-10-28 14:52
好的,我试试,这个RK3399pro的板子,多个计算棒的方式肯定行不通,也不适用于最终的生产环境。多谢 ...

嗯,你具体参看下文档,里头写了很多优化思路
作者: farces    时间: 2019-10-28 15:09
jefferyzhang 发表于 2019-10-28 14:25
差异肯定是存在的,这俩网络运算复杂度差异本身就很大。

在RKNN的转换文档里有网络优化设计建议章节,可以 ...

是不是理解,芯片不支持LeaklyRelu,是通过cpu来计算这部分的?
作者: jefferyzhang    时间: 2019-10-28 15:18
farces 发表于 2019-10-28 15:09
是不是理解,芯片不支持LeaklyRelu,是通过cpu来计算这部分的?

不能算不支持吧,是 conv+relu+maxpooling 等于一个硬件OP,速度就会快很多
而 conv + leakyRelu + maxpool 会被拆成三个操作,效率就没那么高了。





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