我在Python中使用Keras训练了一个模型,我想在Java程序中使用这个训练过的模型。我最初打算在Java中直接使用Keras模型,但是Keras2.0似乎还没有得到很好的支持。因此,我将Keras模型(存储在.h5中)转换为tensorflow模型(存储在.pb中)。现在我想在Java代码中使用这个模型。但是,我需要3个字符串才能成功执行此操作:
我几乎不知道怎么找到这些弦。在这一点上,我不能修改我的模型太多,特别是因为TensorFlow2.0删除了get_session()
,这意味着我需要使用TensorFlow1.0,它在从Keras2.0加载模型时不断给我带来错误。我能够列出我的模型的所有操作,但我不知道近100个操作中哪一个是正确的。我也不知道metagraphdef的标签
我如何找到这3条信息
如果使用pip(或类似conda等)安装TensorFlow,那么它应该附带
saved_model_cli
实用程序您可以使用它从导出的模型中获得一些见解:
在guide中查找更多信息
这是我的一个模型的结果:
float32_Input
、uint8_Input
、ExpandDims
是Python中我的层的名称。要在Java中使用它,我必须使用以下名称:serving_default_float32_Input
、serving_default_float32_Input
和PartitionedCall
相关问题 更多 >
编程相关推荐