如何用张量板监测keras中的梯度消失和爆炸?

时间:2018-04-26 00:59:26

标签: python tensorflow keras tensorboard tensorflow-gradient

我想用keras监测张量板中的梯度变化,以确定梯度是否消失或爆炸。我该怎么办?

1 个答案:

答案 0 :(得分:6)

要在Tensorboard中显示培训,请将keras.callbacks.TensorBoard回调添加到model.fit功能。不要忘记设置write_grads=True来查看那里的渐变。训练开始后,你可以跑...

tensorboard --logdir=/full_path_to_your_logs

...从命令行中将浏览器指向htttp://localhost:6006。请参阅this question中的示例代码。

要检查消失/爆炸渐变,请注意感兴趣层中的渐变分布和绝对值("分布"标签):

  • 如果分布高度峰值并且集中在0附近,则梯度可能消失。这是concrete example在实践中的样子。
  • 如果分布随着时间的推移在绝对值上快速增长,那么梯度就会爆炸。通常,同一层的输出值也会很快变为NaN