我在GPU上运行tensorflow进行训练。我有一个1层GRU单元,批量大小为800,我做了10个epoch。我在tensorboard的精度图中看到了这个峰值,我不明白为什么。见图。
如果你计算峰值,它们是10,作为epoch的数量。我尝试了不同的配置,减少批量大小,增加层数,但峰值仍然存在。如果有帮助,你可以找到code here。
我使用tf.RandomShuffleQueue来处理具有无限epoch的数据,并计算它应该执行多少步。我不认为问题在于我如何计算精度(在这里)。你有什么建议吗?
EDITmin_after_dequeue=2000
1条答案
按热度按时间hwamh0ep1#
这似乎与每个时期的Tensorflow准确性峰值相同,但对于自定义指标。
我已经写了一个answer for it,但我可以在这里采用一般的想法。
我无法跟踪您更新/重置指标的确切位置,或者您在哪里注册它们。因此,我假设这可能是由tensorflow自动完成的。如果是这样,我相信您看到的问题是由平均值导致的指标伪影引起的。您可能可以通过使用
在训练时,
请注意,这显然会使所有指标仅报告每个epoch的最后一个训练批次丢失。