无法在 Java API 中运行 Tensorflow 预测

哈雷尔·法卡什

我正在尝试对我使用“Finetuning AlexNet with TensorFlow”训练的模型执行预测https://kratzert.github.io/2017/02/24/finetuning-alexnet-with-tensorflow.html

我使用tf.saved_model.builder.SavedModelBuilderPython保存了模型,并使用SavedModelBundle.load. 代码的主要部分是:

    SavedModelBundle smb = SavedModelBundle.load(path, "serve");
    Session s = smb.session();
    byte[] imageBytes = readAllBytesOrExit(Paths.get(path));
    Tensor image = constructAndExecuteGraphToNormalizeImage(imageBytes);
    Tensor result = s.runner().feed("input_tensor", image).fetch("fc8/fc8").run().get(0);
    final long[] rshape = result.shape();
    if (result.numDimensions() != 2 || rshape[0] != 1) {
        throw new RuntimeException(
                String.format(
                        "Expected model to produce a [1 N] shaped tensor where N is the number of labels, instead it produced one with shape %s",
                        Arrays.toString(rshape)));
    }
    int nlabels = (int) rshape[1];
    float [] a =  result.copyTo(new float[1][nlabels])[0];`

我收到此异常:

线程“main”中的异常 java.lang.IllegalArgumentException:您必须使用 dtype float [[Node: Placeholder_1 = Placeholder_output_shapes=[[]], dtype=DT_FLOAT, shape=[], _device= 为占位符张量“Placeholder_1”提供一个值"/job:localhost/replica:0/task:0/cpu:0"]]

我看到上面的代码对某些人有效,我无法弄清楚这里缺少什么。请注意,网络熟悉节点“input_tensor”和“fc8/fc8”,因为它没有说它不知道它们。

从错误消息来看,您正在使用的模型似乎期望被提供另一个值(图中的节点名称是Placeholder_1并且预期类型是浮点标量张量)。

您似乎已经自定义了模型(而不是按照您逐字链接的文章进行操作)。也就是说,文章显示了多个需要输入的占位符,一个用于图像,另一个用于控制丢失。文章中定义为:

keep_prob = tf.placeholder(tf.float32)

而这个占位符的值需要补足。如果您正在进行推理,那么您希望设置keep_prob为 1.0。就像是:

Tensor keep_prob = Tensor.create(1.0f);
Tensor result = s.runner()
  .feed("input_tensor", image)
  .feed("Placeholder_1", keep_prob)
  .fetch("fc8/fc8")
  .run()
  .get(0);

希望有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Django中预测API

来自分类Dev

在 TensorFlow Lite 中运行 Keras 模型时的不同预测

来自分类Dev

无法在Fastai中预测输出

来自分类Dev

如何在 Tensorflow Object Detection API 中获得预测值的百分比?

来自分类Dev

tensorflow keras无法在预测阶段退出(设置学习阶段无效)

来自分类Dev

Tensorflow java api - 第一个预测时间与第二个或更多

来自分类Dev

与Python相比,在Pytorch C ++ API中无法获得相似的DL预测结果

来自分类Dev

向Tensorflow Serving邮递员请求预测REST API

来自分类Dev

使用对象检测 tensorflow API 对录制的视频进行预测

来自分类Dev

C ++中的对象大小无法预测

来自分类Dev

DNS中的DIG无法预测的TTL

来自分类Dev

无法在MatLab的SVM中预测输出

来自分类Dev

Tensorflow收敛但预测错误

来自分类Dev

Tensorflow:获得预测

来自分类Dev

如何在TensorFlow的MNIST示例中获取预测的类标签?

来自分类Dev

tensorflow 2.0中的批次标准化使预测结果更糟

来自分类Dev

如何解释 TensorFlow 中的预测,它们的形状似乎错误

来自分类Dev

由于 tf.placeholder 的问题,无法运行预测

来自分类Dev

无法在GPU上运行Tensorflow

来自分类Dev

无法在Spark上运行TensorFlow

来自分类Dev

无法在GPU上运行Tensorflow

来自分类Dev

使用GPU在Tensorflow教程中无法运行单词嵌入示例

来自分类Dev

无法预测jar META-INF / resources中的JSP文件

来自分类Dev

R中的NaiveBayes无法预测-因子(0)级别:

来自分类Dev

无法预测R的GLMNET软件包中的拟合模型

来自分类Dev

可以在WCF服务中处理无法预测的类型的参数吗?

来自分类Dev

无法预测jar META-INF / resources中的JSP文件

来自分类Dev

JOptionPanel上不可预测的Java程序运行时错误

来自分类Dev

Java @RunWith无法在Intellij中运行

Related 相关文章

  1. 1

    在Django中预测API

  2. 2

    在 TensorFlow Lite 中运行 Keras 模型时的不同预测

  3. 3

    无法在Fastai中预测输出

  4. 4

    如何在 Tensorflow Object Detection API 中获得预测值的百分比?

  5. 5

    tensorflow keras无法在预测阶段退出(设置学习阶段无效)

  6. 6

    Tensorflow java api - 第一个预测时间与第二个或更多

  7. 7

    与Python相比,在Pytorch C ++ API中无法获得相似的DL预测结果

  8. 8

    向Tensorflow Serving邮递员请求预测REST API

  9. 9

    使用对象检测 tensorflow API 对录制的视频进行预测

  10. 10

    C ++中的对象大小无法预测

  11. 11

    DNS中的DIG无法预测的TTL

  12. 12

    无法在MatLab的SVM中预测输出

  13. 13

    Tensorflow收敛但预测错误

  14. 14

    Tensorflow:获得预测

  15. 15

    如何在TensorFlow的MNIST示例中获取预测的类标签?

  16. 16

    tensorflow 2.0中的批次标准化使预测结果更糟

  17. 17

    如何解释 TensorFlow 中的预测,它们的形状似乎错误

  18. 18

    由于 tf.placeholder 的问题,无法运行预测

  19. 19

    无法在GPU上运行Tensorflow

  20. 20

    无法在Spark上运行TensorFlow

  21. 21

    无法在GPU上运行Tensorflow

  22. 22

    使用GPU在Tensorflow教程中无法运行单词嵌入示例

  23. 23

    无法预测jar META-INF / resources中的JSP文件

  24. 24

    R中的NaiveBayes无法预测-因子(0)级别:

  25. 25

    无法预测R的GLMNET软件包中的拟合模型

  26. 26

    可以在WCF服务中处理无法预测的类型的参数吗?

  27. 27

    无法预测jar META-INF / resources中的JSP文件

  28. 28

    JOptionPanel上不可预测的Java程序运行时错误

  29. 29

    Java @RunWith无法在Intellij中运行

热门标签

归档