【发布时间】:2023-04-01 05:30:01
【问题描述】:
我在 Keras 中实现了一个 U-Net,用于解决我正在处理的图像分割问题。我发现早期时期的输出提供了非常好的结果,尽管概率很低。随着训练的继续和 IoU 分数的增加,我的输出中得到的像素越来越少,但它们的概率更高。
为了更简洁,我的输出遗漏了某些特征,但它确实识别出的特征的概率更高。
我很想知道是否可以通过使用 sigmoid 激活函数在输出层之后强制像素值为 1 来纠正此问题。有没有一种简单的方法可以做到这一点?我使用 binary_crossentropy 作为损失函数,所以我希望我可以做类似的事情:
def binary_crossentropy_thresh(y_true,y_pred):
y_pred[y_pred>=0.2] = 1
return binary_crossentropy(y_true,y_pred)
但这不适用于张量。任何建议将不胜感激。
抱歉,如果我没有充分解释我的问题。
【问题讨论】:
标签: keras image-segmentation loss unity3d-unet