加快Keras模型的推断

meg*_*ger 5 machine-learning computer-vision raspberry-pi keras tensorflow

我有一个Keras模型正在对Raspberry Pi(带摄像头)进行推理.Raspberry Pi拥有非常慢的CPU(1.2.GHz)并且没有CUDA GPU,因此model.predict()舞台需要很长时间(约20秒).我正在寻找尽可能减少这种方法的方法.我试过了:

  • 超频CPU(+ 200 MhZ)并获得额外的几秒钟性能.
  • 使用float16而不是float32.
  • 尽可能减少图像输入大小.

在推理期间,我还能做些什么来提高速度吗?有没有办法简化model.h5并降低精度?我用简单的模型取得了成功,但对于这个项目,我需要依赖现有的模型,所以我无法从头开始训练.

Fáb*_*rez 2

VGG16 / VGG19 架构非常慢,因为它有很多参数。检查这个答案

在进行任何其他优化之前,请尝试使用更简单的网络架构。

谷歌的 MobileNet似乎是一个不错的候选者,因为它是在 Keras 上实现的,并且是为更有限的设备设计的。

如果无法使用不同的网络,则可以通过修剪来压缩网络。这篇博文专门用 Keras 做了剪枝。