gpt4 book ai didi

Tensorflow 语义分割给出零损失

转载 作者:行者123 更新时间:2023-12-04 02:16:57 24 4
gpt4 key购买 nike

我正在训练一个模型,用于从图像中分割机器打印的文本。图像也可能包含条形码和手写文本。地面实况图像经过处理,因此 0 代表机器打印,1 代表剩余。我正在使用带膨胀的 5 层 CNN,最后输出 2 个 map 。

而我的损失计算如下:

def loss(logits, labels):

logits = tf.reshape(logits, [-1, 2])
labels = tf.reshape(labels, [-1])

cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=labels)
cross_entropy_mean = tf.reduce_mean(cross_entropy, name='cross_entropy')

我有一些只包含手写文本的图像,它们对应的基本事实是用 1 表示的空白页。

当我训练模型时,对于这些图像,我的损失为 0,训练准确度为 100%。这样对吗?这个损失怎么可能是零呢?对于其他包含条形码或机器打印的图像,会出现一些损失,但它们正在正常收敛。

当我测试这个模型时,条形码被正确地忽略了。但它同时输出机器打印和手写文本,而我只需要机器打印。

请有人指导我哪里出错了!

更新 1:

我之前使用 0.01 的学习率并将其更改为 0.0001 给了我一些损失,它似乎收敛但不是很好。但是,那么高的学习率如何使损失为 0?

当我在学习率为 0.01 的 Caffe 中使用相同的模型时,它会产生一些损失,并且与在 Tensorflow 中相比收敛得很好。

最佳答案

您的损失计算看起来不错,但在您的情况下损失为零很奇怪。你试过学习率吗?也许减少它。我遇到了奇怪的损失值,降低学习率对我有帮助。

关于Tensorflow 语义分割给出零损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44893255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com