繁体   English   中英

如何解释 tf.keras.Model.predict() 输出?

[英]How do I interpret tf.keras.Model.predict() output?

我无法找到我需要的文档。 总结一下这个问题,我使用两类图像训练了一个 tf.keras 模型,标记为“0”或“1”。 我现在想使用这个模型来预测新图像是“0”还是“1”。 我的问题如下: model.predict()返回一个介于 1 和 0 之间的数字,但我似乎无法找到这到底是什么。 说这是它的预测是否正确(即,接近 1 表示图像可能为 1,接近 0 表示图像可能为 0)? 或者这里还有其他事情发生。 我在下面包含了代码和一些输出。 在这种情况下, pred图像为 1 的概率,以及1 - pred图像为 0 的概率吗?

感谢您的任何帮助。

for img_path in test_filenames:
   img = tf.keras.preprocessing.image.load_img(img_path, target_size=(IMAGE_SIZE,IMAGE_SIZE))
   img_array = tf.keras.preprocessing.image.img_to_array(img)
   img_array = tf.expand_dims(img_array, 0)
   pred = model.predict(img_array)
   print(pred)

退货

[[0.8361757]]
[[0.26765466]]
[[0.2722953]]
[[0.81938094]]
[[0.24995388]]
[[0.45974937]]

pred图像为 1 的概率,而1 - pred图像为 0 的概率吗?

对,那是正确的。 如果您想获得硬类(即 0 或 1),那么您可以对输出设置阈值。 0.5 是一个常见的阈值,但我也见过 0.3。 这是你可以调整的东西。

pred = model.predict(img_array)
classes = pred > 0.5

预测值最有可能在 0 到 1 之间,因为模型的最后一次激活是sigmoid 函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM