骰子/提卡系数优化

2024-04-20 11:29:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用骰子或Jaccard的系数来优化我的网络。我的问题是一个图像分割问题,所以我的输出是一个形状张量(1,256,256,11)。为了计算我的输出和我拍摄的真实图像的交集

tf.argmax(output, axis = 3)

它返回一个“int”的数据类型,tensorflow优化器(特别是AdamOptimizer)似乎不接受它,所以我将它转换为一个

^{pr2}$

然而,似乎并没有定义一个梯度转铁器铸造(或tf.argmax公司在这件事上)。有人能成功地实施吗


Tags: 图像网络outputtftensorflow骰子int数据类型
2条回答

运算tf.argmax()是不可微的,这就是为什么没有实现梯度。不能直接优化Jaccard,因为它是不可微的。在

准确度也是如此,当你训练一个分类器时,即使你只关心准确度,你也会优化一个可微损失,因为准确度是不可微的。在

因此,您的问题没有解决方案,您必须使用一个可以区分和优化损失的损失函数,而不是jaccard。在

今天我遇到了同样的问题,我意识到如果没有tf.argmax()函数,计算骰子损失是不可能的,这个函数没有梯度。在

对于类似情况,一种可能的解决方案是使用广义dice系数,即将softmax预测与“一个热点”地面真实图像结合作为输入。在

相关问题 更多 >