【问题标题】:Tensorflow Optimizers - multiple loss values passed to minimize()?Tensorflow 优化器 - 传递给最小化()的多个损失值?
【发布时间】:2017-10-11 02:25:06
【问题描述】:

我第一次在 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] 的张量传递给最小化()时发生了什么?

【问题讨论】:

    标签: python tensorflow neural-network gradient-descent


    【解决方案1】:

    他们正在加起来。这是 TensorFlow 使用 Reverse Mode AD 进行微分的副产品,需要 loss 为标量

    【讨论】:

    • 所以如果你传递一个张量,你基本上是最小化了张量中所有值的总和?
    • ;;;;;;;;;;;;;;;;;;;;是
    猜你喜欢
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 2018-06-25
    相关资源
    最近更新 更多