【发布时间】:2016-03-03 22:08:33
【问题描述】:
我正在训练一个简单的网络来预测单个对象的边界框坐标。然而,有些照片找不到任何物体。由于网络总是进行预测,因此它还预测了一个介于 0 和 1 之间的置信度值,该值应该表示图片中存在对象的概率。我的预测张量称为logits,它是(batch_size, 5)张量(置信度、x、y、宽度和高度)。同样,labels 张量也是(batch_size, 5)。
以前我只用总是有对象的图像进行训练,所以我基本上可以做到
loss = tf.l2_loss(logits - labels)
我也想用没有对象的图片开始训练,当图片中没有对象时,我不希望网络因其预测的坐标而受到惩罚。在这种情况下,最重要的是置信度值,它应该接近于 0(没有对象)。
我应该如何构建我的标签和损失函数来实现这一点?我可以将没有对象的图像的标签设置为全零,但是如何检查特定行是否只有零?并且在这种情况下,logits 中的相应行也需要设置为零(置信度值除外!),以便因坐标而产生的损失也为零。
【问题讨论】:
标签: python tensorflow