代码和上一章差不多,我们在上一章的基础上进行更改
目录
1 随epoch更改学习速率
我们当前想让学习速率随epoch的变化而变化,首先我们定义一个learning_rate随时间变化的函数
然后我们创建一个回调函数,使用tf.keras.callbacks.LearningRateScheduler()参数是上面创建的函数
然后把回调函数放在callbacks的列表中
此时进行训练我们还不能在tensorboard中显示learning_rate,我们需要将变化情况写入文件中
2 将变化情况写在文件中
首先创建一个写对象,参数为要将文件存放的路径
然后将其设置为默认写对象
然后我们再定义的变化learning_rate函数上加上tf.summary.scalar()以记录变量
第一个learning_rate是要记录的名称,第二个learning_rate是要记录的内容(我们上面的变量),第三个是横坐标epoch
为了体现学习速率的变化,我们训练7个epoch
训练后我们发现文件夹中出现了lr
打开tensorboard,我们发现出现了learning_rate这一项,但是我们可以发现learning_rate的变化的渐变的而不是直接改变的,所以我们如果要更好的控制learning_rate,我们需要将epoch的间隔拉大一点,让他可以顺利渐变