【问题标题】:Is it possible to load a TensorFlow 2.0 model in Java?是否可以在 Java 中加载 TensorFlow 2.0 模型?
【发布时间】:2019-08-19 15:10:29
【问题描述】:

无法在 Google 上找到答案,这里提出的问题似乎都很接近,但并不相同。对不起,如果我忽略了一些东西。

目前是否可以在 Java 8 中加载用 Python TensorFlow 2.0.0-beta1 编写的模型?该模型将使用 Keras Sequential API。如果可能,我感谢您提供指向相应文档的指针。

【问题讨论】:

  • 如果模型保存为.h5格式,那么使用tf.lite.TfLiteConverter.from_keras_model_file()可以将模型转换为.tflite文件,我们可以在Android上运行。
  • TFLite 仅适用于 Android。我的问题是关于 Java 8。
  • 您是否可以将模型转换为您知道输入和输出节点名称的 .pb 文件?
  • 如果您将图形保存为 .pb 是的。但是,他们刚刚正式发布了 TF 2.0,但还没有在 Maven 上发布。一旦他们这样做了,使用图表的过程将或多或少相同。
  • 是的,谢谢,我看到了,等不及 Maven 版本了!

标签: java tensorflow tensorflow2.0


【解决方案1】:

如果您首先按照here 所述将模型转换为 tflite 文件,则可以完成此操作:

import tensorflow as tf

converter = tf.lite.TFLiteConverter.from_keras_model_file("keras_model.h5")
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

然后您可以按照here 的描述加载和运行:

public Interpreter(@NotNull File modelFile);

try (Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)) {
  interpreter.run(input, output);
}

【讨论】:

  • 谢谢。不幸的是,TFLite 仅适用于 Android,我的问题是关于 Java 8。
猜你喜欢
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
  • 2020-08-16
  • 2013-03-24
  • 2020-05-21
相关资源
最近更新 更多