将Keras模型转换为TensorFlow protobuf

She*_*hep 20 c++ protocol-buffers keras tensorflow

我们目前正在使用Keras训练各种神经网络,这是理想的,因为它具有良好的界面并且相对易于使用,但我们希望能够在我们的生产环境中应用它们.

不幸的是,生产环境是C++,所以我们的计划是:

  • 使用TensorFlow后端将模型保存到protobuf
  • 将我们的生产代码链接到TensorFlow,然后加载protobuf

不幸的是,我不知道如何从Keras访问TensorFlow保存实用程序,它通常保存为HDF5和JSON.如何保存到protobuf?

Tob*_*ann 6

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

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


小智 4

您可以通过以下方式访问 TensorFlow 后端:

import keras.backend.tensorflow_backend as K
Run Code Online (Sandbox Code Playgroud)

然后您可以调用任何 TensorFlow 实用程序或函数,例如:

K.tf.ConfigProto
Run Code Online (Sandbox Code Playgroud)