使用python中的keras + tensorflow进行训练并使用C / C ++进行预测

时间:2017-10-06 17:21:58

标签: c linux tensorflow keras

有可能用带有张量流的keras作为后端来制作一个快速模型,并用它来用C或C ++进行预测吗?

我需要在C ++程序中进行预测,但我觉得在keras中进行模型和训练更加舒服。

3 个答案:

答案 0 :(得分:3)

如果您不需要在正在部署的环境中使用GPU,您也可以使用我的库,名为frugally-deep。它可以在GitHub上获得,并在MIT许可证下发布:https://github.com/Dobiasd/frugally-deep

节俭深度允许直接在C ++中对已经训练过的Keras模型进行前进传递,而无需链接TensorFlow或任何其他后端。

它不仅支持使用顺序模型进行预测,还支持使用functional API构建更复杂的模型。

除了支持许多常见的图层类型外,它还可以在单​​个CPU上跟上(有时甚至超过)TensorFlow的性能。您可以在repo中找到某些常见模型的最新基准测试结果。

通过自动测试节省深度,保证在C ++中与它一起使用的模型的输出与在Python中使用Keras运行时完全相同。

答案 1 :(得分:0)

是的,有可能。 TensorFlow提供稳定的C API以及C ++版本。

有关详细信息,您可能想要提出更具体的问题。

答案 2 :(得分:0)

您可以在opencv3.2中使用cv :: dnn模块。请参阅opencv示例中的示例。