我使用神经网络在嵌入式软件上进行实时图像处理,并测试了不同的架构(Googlenet、Mobilenet、Resnet、自定义网络……)和不同的硬件解决方案(板卡、处理器、AI 加速器……)。我注意到,就推理时间而言,系统的性能不仅取决于处理器,还取决于其他因素。
例如,我有两块来自不同制造商的板,B1(带有便宜的处理器)和 B2(带有更好的处理器),以及两个神经网络,N1(非常轻,具有规则卷积和全连接层)和 N2(非常大,带有初始模块和许多层)。N1 的推理时间在 B1 上更好,而 N2 在 N2 上更好。此外,随着软件的执行,推理时间会随时间而变化。
所以我的问题是:在嵌入式系统中,影响推理时间的方面有哪些,如何影响?我不仅对硬件特性感兴趣,而且对神经网络架构(卷积滤波器大小、层类型等)也很感兴趣。