为什么在Java Tensorflow对象检测API中使用了save_model而不是冻结的

时间:2019-01-18 13:31:55

标签: java python tensorflow

我正在一段时间内使用Tensorflow对象检测API。我最近需要使用Tensorflow Java API进行对象检测。基本上,我需要运行经过预训练的模型才能使用Java进行推理。

我发现这个有用的repository正是这样做的。让我感到惊讶的是,在Java中,我必须使用this.MyButton.TabStop = false;saved_model)才能进行预测,而在python中,出于某种原因,我正在使用saved_model.pb。在意识到这种差异之前,我当然会遇到一些错误。

我知道Tensorflow Serving出于某些目的使用frozen_inference_graph.pb。例如,介质中的this article解释了如何在Docker中使用TensorFlow Serving。我还读过answer here,了解这些保存格式之间的区别。

无论如何,在这种情况下,两个模型所做的工作完全相同:对某些图像进行推断。那么,为什么会有这种差异呢?它是否与Java由于某种原因无法读取冻结的图并驻留在已保存的图上这一事实有关?还有其他原因吗?

0 个答案:

没有答案