Xiaobin-Rong / gtcrn

The official implementation of GTCRN, an ultra-lite speech enhancement model.
MIT License
217 stars 37 forks source link

关于模型推理速度问题 #23

Closed IwraI closed 4 months ago

IwraI commented 4 months ago

感谢大佬开源! 关于模型推理速度问题想请教下, deepfilter2模型压缩到100Mflops后,pc上运行RTF= 0.03 , gtcrn 为 33Mflops,但是RTF=0.12,比deepfilter2慢得多。 使用的推理引擎都是onnxruntime,想问下除了 flops 还有其他影响RTF的因素吗。

Xiaobin-Rong commented 4 months ago

网络的深度和模块设计都是影响实际运行速度的因素。例如两个CNN,一个更浅但通道数更大,另一个更深但通道数更少,即使两者FLOPs一样,也会是前者速度更快。另一方面,一些模块虽然把FLOPs压下来了,但是不一定对后端推理引擎友好,例如 ShuffleNetV2 原文中就提到,分组卷积会比普通卷积更慢,虽然前者FLOPs更低(但是我测试过好像没有什么区别,可能pytorch后来又做了针对分组卷积的优化)。此外,虽然都使用onnxruntime推理引擎吗,但是导出onnx这一步是否做了优化也会对速度有较大影响。issue19 就提到我原本代码中导出onnx这一步还可以优化。

IwraI commented 4 months ago

明白了,感谢回复!