17

我想用 keras 监控 tensorboard 中的梯度变化,以确定梯度是消失还是爆炸。我应该怎么办?

4

1 回答 1

24

要在 Tensorboard 中可视化训练,请将keras.callbacks.TensorBoard回调添加到model.fit函数。不要忘记设置write_grads=True以查看那里的渐变。训练开始后,您就可以跑步...

tensorboard --logdir=/full_path_to_your_logs

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

要检查梯度消失/爆炸,请注意感兴趣层中的梯度分布和绝对值(“分布”选项卡):

  • 如果分布高度达到峰值并集中在 0 附近,则梯度可能正在消失。这是一个具体的例子,它在实践中的样子。
  • 如果分布的绝对值随时间快速增长,则梯度正在爆炸。通常,同一层的输出值NaN也会很快变得 s。
于 2018-04-26T16:43:35.413 回答