张量流量 - 损失不减少

时间:2017-07-19 13:15:27

标签: python python-3.x tensorflow keras

最近,我一直试图复制this post的结果,但是使用TensorFlow而不是Keras。但是,我的模型损失并没有收敛为in the code provided。我注意使用作者使用的相同参数,即使那些未明确显示的参数。我的完整代码可以看作here

我已经尝试过不同的学习率,优化器和批量大小,但这些也不会对结果造成影响。

我在StackOverflow和StackExchange中发现了一些与此问题相关的其他问题,但大多数问题都没有答案。然而,答案中的问题没有帮助。

我正在使用TensorFlow 1.1.0,Python 3.6和Windows 10.

最奇怪的是我们拥有相同的数据库和相同的模型,但只是不同的框架。因此,它不应该给出完全不同的行为。有没有人有关于我应该尝试解决这个问题的建议呢?

1 个答案:

答案 0 :(得分:6)

我基本上没有修改你的代码,但我查看了你的tf_labels和logits的形状,它们不一样。 logits有shape(batch_size,1,1,1)(因为你使用的是1x1卷积滤镜)而tf_labels有形状(batch_size,1)。我将损失线改为

    loss = tf.reduce_mean(tf.squared_difference(tf.squeeze(tf_labels),
           tf.squeeze(logits)))

每个时代的损失减少了。