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