【问题标题】:In Tensorflow, when using a prediction i.e. 'print(prediction[0][0])', what are the values [0][0] actually referencing?在 Tensorflow 中,当使用预测即“print(prediction[0][0])”时,[0][0] 实际引用的值是什么?
【发布时间】:2019-01-07 11:48:00
【问题描述】:

只是一个快速的,我一直在构建一个用于图像识别的神经网络,我已经完成了。在测试我的模型对我的测试数据的预测时,我输出预测(显然)并且我遵循的教程使用语句print(prediction[0][0])(尽管不同之处在于本教程使用二元分类器进行损失)。

我只是想知道预测语句末尾的每个[0] 引用了什么(我将其作为变量分配给model.predict(testX)),这样我就可以更轻松地处理我的测试数据并了解我的内容米选择。我敢肯定这很简单,但我只是隔开它。非常感谢任何帮助!

【问题讨论】:

  • 嗨 Popbemo,欢迎来到 Stack Overflow!但是,您的问题很难回答,并且对当前编写的方式没有太大贡献。请花点时间查看how to ask great questions,以便我们为您提供帮助,您也可以帮助提高网站中的知识。你没有提供任何关于你在做什么的参考,所以我们真的不知道你在做什么,你可以用 Tensorflow 做很多事情!
  • 我确实说过我正在构建一个用于图像识别的神经网络,但这几乎无关紧要。我只是忘记了如何用我在标题中提到的语句选择数据。
  • 相关的是网络图本身,这个教程是什么?你在使用 TF 网站上的 MNIST 教程吗? (如果你从这个开始,你可能应该这样做)。
  • 我只能说 predicition[0][0] 是二维矩阵中的某个值。如果您要输出图像,这可能是第一个像素,可以通过多种方式对其进行编码,具体取决于您构建网络的方式。如果您使用的是监督学习模型,predictions 的形状应该与您的预期目标 labels 匹配。
  • 是的,我正在关注本教程 (youtube.com/…)。谢谢。

标签: python tensorflow machine-learning neural-network


【解决方案1】:

如果您想了解每个 [0] 的含义,您可以随时简单地打印它们, 即print(prediction[0])。另外,您可以使用Jupyter Notebooks 来摆弄这些东西。

但是,为了回答您的问题,model.predict 返回预测值的list,而不是单个预测,这就是使用第一个[0] 的原因(我猜您有一个数据“集”单个项目),以便从列表中获取第一个(并且仅在您的情况下)预测。然后,第二个[0] 从您的预测值列表中返回实际预测值(唯一的一个)

【讨论】:

  • 谢谢。我实际上是在尝试对超过 15000 个项目进行预测。我知道这不切实际,所以我实际上并没有试图预测所有这些,但我只想选择随机项目进行测试。我该怎么做,因为正如您所说,输出仅用于一个预测?预测是正确的,但我想在其他项目上进行测试,而不仅仅是一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
  • 1970-01-01
  • 2019-01-28
  • 2020-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多