使用中值频率平衡与sparse_softmax_cross_entropy_with_logits

时间:2016-09-12 09:35:44

标签: tensorflow deep-learning image-segmentation

我目前正致力于使用张量流来解决SegNet Architecture上的多类分割问题

我的课程严重失衡,因此我需要整合median frequency balancing(在课程上使用权重进行损失计算)。我使用以下提示(基于此post)来应用Softmax。我需要帮助来扩展它以增加权重,我不知道该怎么做。目前的实施:

reshaped_logits = tf.reshape(logits, [-1, nClass])
reshaped_labels = tf.reshape(labels, [-1])
loss = tf.nn.sparse_softmax_cross_entropy_with_logits(reshaped_logits, reshaped_labels)

我的想法是:

  1. 在nClass张量中分割logits tensor,
  2. 单独应用softmax,
  3. 使用中位频率平衡对其进行加权
  4. 最后,总结加权损失。
  5. 这是正确的方法吗?

    由于

1 个答案:

答案 0 :(得分:0)

您可以找到执行此操作的代码here

def _compute_cross_entropy_mean(class_weights, labels, softmax):
    cross_entropy = -tf.reduce_sum(tf.multiply(labels * tf.log(softmax), class_weights),
                                   reduction_indices=[1])

    cross_entropy_mean = tf.reduce_mean(cross_entropy,
                                        name='xentropy_mean')
    return cross_entropy_mean

其中head是您的类称量矩阵。