3

我在 python 3.7 中使用 1.14 版中的 tensorflow 和 1.34 版中的十四行诗来训练神经网络。训练后,我想导出我的神经网络,以便在 Java 中使用它进行预测。不幸的是,它在尝试用 Java 加载模型时总是显示错误,说找不到文件。

  • 我仔细检查了模型路径一百次,它是正确的(包括将斜杠转换为反斜杠,因为它在 Windows 上运行)
  • 我在 python 中尝试了其他几种导出方法(包括 SavedModelBuilder 和 ModelSaver)

在此下方,您可以看到用于导出模型的 Python 代码。

tf.saved_model.simple_save(sess,
                           path_graph_model_export_dir,
                           inputs=model_inputs, outputs={'sim': similarity})

这是导出目录的结构。

saved_model
---- saved_model.pb
---- variables
-------- variables.data-00000-of-00001
-------- variables.index

以及用于加载模型的 Java 代码..

SavedModelBundle model = SavedModelBundle.load(modelPath, "serve")

导致此异常。

2019-09-17 10:59:03.905538: I tensorflow/cc/saved_model/reader.cc:31] Reading SavedModel from: saved_model
2019-09-17 10:59:03.905997: I tensorflow/cc/saved_model/loader.cc:311] SavedModel load for tags { serve }; Status: fail. Took 457 microseconds.
org.tensorflow.TensorFlowException: Could not find SavedModel .pb or .pbtxt at supplied export directory path: saved_model

当文件明确位于此目录时,我无法弄清楚为什么会出现此异常。我希望有人可以帮助我。提前致谢!

4

0 回答 0