作者:江游弈一个 | 来源:互联网 | 2023-01-21 15:23
给定一组训练神经网络的训练示例,我们希望或多或少地重视各种训练示例。我们基于示例的“值”(例如有效性或置信度)的某些标准,对每个示例应用0.0到1.0之间的权重。如何在Tensorflow中实现这一点,尤其是在使用时tf.nn.sparse_softmax_cross_entropy_with_logits()
?
1> GeertH..:
在那里你调用了最常见的情况tf.nn.sparse_softmax_cross_entropy_with_logits
与logits
形状[batch_size, num_classes]
和labels
形状的[batch_size]
,该函数返回形状的张量batch_size
。您可以将此张量与权重张量相乘,然后再将其减小为单个损失值:
weights = tf.placeholder(name="loss_weights", shape=[None], dtype=tf.float32)
loss_per_example = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels)
loss = tf.reduce_mean(weights * loss_per_example)