在Tensorflow中,损失可以是多个维度的张量。这是什么意思?

时间:2018-03-25 02:17:51

标签: python tensorflow

标量丢失对我来说非常有意义,这通常是标准NN架构中的损失函数。但是有一个条款可以让你的损失不是标量,例如我输入了一个大小的损失([batch_size,])并且它没有抛出错误。

它是否将损失概括为内部总和/均值?从源代码中我不是很清楚。

非常感谢任何帮助。谢谢。 :)

1 个答案:

答案 0 :(得分:0)

想象一下,您正在尝试对MNIST数据集进行分类。在这种情况下,您有10个输出神经元。因此,在通过它传播训练样本后,您将获得10次激活。这些必须通过每个神经元的成本函数(如交叉熵)与所需的输出进行比较。

您在这里要做的是将所有神经元中的这些成本降至最低。在MNIST示例中,您必须执行类似

的操作
xent = tf.reduce_mean(
    tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y), name="xent")

您会发现所有神经元的成本均为平均值(reduce_mean)。