梯度爆炸,tensorboard可视化,变量作用域---My way of ML14

梯度爆炸

在极端的情况下,不合适的学习率,会导致权重的值变得非常大,以至于溢出导致Nan

如何解决
  1. 重新设计网络(对于神经网络而言)
  2. 调整学习率
  3. 使用梯度截断(在训练过程中检查和限制梯度的大小)
  4. 使用激活函数

可视化

数据序列化–event文件

API:tf.summary.FileWirte(路径,graph=sses.graph)

开启:tensorboard --logdir=“路径”

案例在说话变量作用域一起说

变量作用域

变量作用域的目的就是让程序更加的一目了然,让可视化的图形更加简洁。

如何写变量作用域

以ML13的代码为例。
其实就是在不同的模块上加上:

with tf.variable_scope(“作用域名字”):

梯度爆炸,tensorboard可视化,变量作用域---My way of ML14_第1张图片

我们先看没有模块化之前的图
在这里插入图片描述
梯度爆炸,tensorboard可视化,变量作用域---My way of ML14_第2张图片
把显示出来的网址复制到浏览器上
梯度爆炸,tensorboard可视化,变量作用域---My way of ML14_第3张图片

再来看加入变量作用域的图
梯度爆炸,tensorboard可视化,变量作用域---My way of ML14_第4张图片
双击模块就可看到数据流动了

@ author: [email protected] 欢迎交流

你可能感兴趣的:(机器学习,深度学习,AI)