我想创建一个 L2 损失函数,它忽略标签值为 0 的值(=> 像素)。张量
batch[1]
包含标签,而 output
是网络输出的张量,两者都具有形状 (None,300,300,1)
。labels_mask = tf.identity(batch[1])
labels_mask[labels_mask > 0] = 1
loss = tf.reduce_sum(tf.square((output-batch[1])*labels_mask))/tf.reduce_sum(labels_mask)
我的当前代码会出现 TypeError: 'Tensor' object does not support item assignment
错误(在第二行)。使用tensorflow该怎么做呢?我还试图使用 tf.reduce_sum(labels_mask)
对损失进行归一化,希望它能像这样工作。
indexes = tf.where(mask)
行有什么作用吗? - Rodrigo Laguna