在Java中加载Tensorflow模型

ssm49v7z  于 2022-11-16  发布在  Java
关注(0)|答案(2)|浏览(212)

我尝试使用训练好的tensorflow 模型在Java中进行对象检测。我用脚本export_inference_graph导出了模型(用Python训练过)。这生成了一个frozen_inference_graph.pb文件和一个saved_model.pb文件。
我的理解是,在Java中使用这个模型的最好方法是使用SavedModelBundle.load()加载模型。但是,当我尝试使用saved_model.pb文件加载模型时,我得到了错误SavedModel not found in export directory:。有没有更好的方法在Java中加载模型以进行对象检测?
如果你有什么建议,请告诉我!我怀疑我在这个过程中做错了什么。

6mzjoqzu

6mzjoqzu1#

SavedModel格式将所有模型信息编码在一个目录中,而不是一个文件中。因此,您需要向SavedModelBundle.load()提供包含saved_model.pb文件的目录,而不是文件本身。
您可能会发现official sample也很有启发性。
希望能有所帮助。

ffscu2ro

ffscu2ro2#

我已经为此写了一个库。如果你想的话,你可以看看:JavaTF
您可以拥有一个包含多个saved_models的模型目录,并使用ModelLoader管理它们。
如果有帮助,请告诉我:)

相关问题