加快Keras模型的推断

时间:2017-10-16 01:51:41

标签: machine-learning tensorflow raspberry-pi computer-vision keras

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

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

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

1 个答案:

答案 0 :(得分:2)

VGG16 / VGG19架构非常慢,因为它有很多参数。检查this answer

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

Google's MobileNet似乎是一个很好的候选人,因为它是implemented on Keras,它是专为更有限的设备而设计的。

如果您无法使用其他网络,则可以使用修剪来压缩网络。 This blog帖子专门修剪Keras。