当我在im2txt中阅读im2txt源代码时,我遇到了一个问题。
有batch_loss和total_loss:batch_loss是针对每一批数据计算的,并通过tf.add_loss(batch_loss)调用添加到tf.Graphkeys.LOSSES中。total_loss是由tf.losses.get_total_loss()得到的,它平均了tf.Graphkeys.LOSSES的所有损失。
问:为什么参数是由total_loss更新的?i被这个问题弄糊涂了很多天。
发布于 2017-11-05 15:52:47
评论中的讨论摘要
训练损失计算在前通过小批.但是实际的损失值并不需要来开始备份。反向支柱由误差信号启动,误差信号等于根据前通过值计算的损失函数导数。因此,损失值不影响参数的更新,而报告只是为了监视培训过程。例如,如果损失没有减少,这是一个迹象,双重检查神经网络模型和超参数。所以,为了让图表看起来更好看,通过平均平均来平滑报道的损失并不是什么大不了的事。
有关更多详细信息,请参阅这个职位。
https://stackoverflow.com/questions/47122591
复制相似问题