我可以在不使用reduce_mean的情况下最小化tf.nn.sigmoid_cross_entropy_with_logits吗?

时间:2018-10-17 12:17:40

标签: tensorflow deep-learning multilabel-classification

我正在使用tensorflow训练我的多标签模型。损失用tf.nn.sigmoid_cross_entropy_with_logits计算。我可以在没有reduce_sumreduce_mean的情况下尽量减少损失吗?

...
#loss = tf.reduce_mean(tf.losses.sigmoid_cross_entropy(multi_class_labels=labels, logits=logits)) ## not do this
loss = tf.losses.sigmoid_cross_entropy(multi_class_labels=labels, logits=logits)
optimizer = tf.train.AdamOptimizer(learning_rate=0.1) # do this
train_op = optimizer.minimize(loss, global_step=tf.train.get_global_step())
...

1 个答案:

答案 0 :(得分:1)

您可以对非标量Tensor使用minimal()。但是minimum()在内部为非标量Tensor计算reduce_sum,因此我建议您使用reduce_sum来提高可读性。