[英]How to manually obtain the same output as model.predict() in keras
[英]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.