我第一次在MNIST数据集上使用Tensorflow时,我遇到了一个非常简单的错误,在将错误值传递给优化器之前我忘记了它的意思。
换句话说,而不是
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_))
我不小心使用了
loss = tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_)
然而,在训练网络时,不采用误差值的均值或总和不会产生错误。这让我想到了:是否有人需要将多个损失值传递给优化器?当我将尺寸为[1]的Tensor传递给最小化()时发生了什么?
答案 0 :(得分:4)
他们正在加起来。这是使用反向模式AD进行区分的TensorFlow的副产品,这需要丢失为标量