Tensorflow 我能在不使用reduce平均值的情况下使用logits最小化tf.nn.sigmoid交叉熵吗?

Tensorflow 我能在不使用reduce平均值的情况下使用logits最小化tf.nn.sigmoid交叉熵吗?,tensorflow,deep-learning,multilabel-classification,Tensorflow,Deep Learning,Multilabel Classification,我正在用tensorflow训练我的多标签模型。损耗通过tf.nn.sigmoid_cross_entropy_和_logits计算。我是否可以在不减少金额或减少金额的情况下将损失降至最低 ... #loss = tf.reduce_mean(tf.losses.sigmoid_cross_entropy(multi_class_labels=labels, logits=logits)) ## not do this loss = tf.losses.sigmoid_cross_entropy

我正在用tensorflow训练我的多标签模型。损耗通过tf.nn.sigmoid_cross_entropy_和_logits计算。我是否可以在不减少金额或减少金额的情况下将损失降至最低

...
#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())
...

可以将最小化与非标量张量一起使用。但minimize在内部计算非标量张量的reduce\u sum,因此我建议您使用reduce\u sum以提高可读性。

损失定义为特定函数的和或平均值,因此您不能删除和/平均值,并期望结果具有任何意义。