Path: blob/master/site/zh-cn/addons/tutorials/average_optimizers_callback.ipynb
25118 views
Kernel: Python 3
Copyright 2020 The TensorFlow Authors.
In [ ]:
概述
此笔记本将演示如何使用 TensorFlow Addons 软件包中的移动平均优化器和模型平均检查点。
移动平均
移动平均值的优点在于,它们在最新批次中不易出现重大的损失变动或不规则的数据表示。在某一时刻之前,它会为模型训练提供一个平滑而笼统的思路。
随机平均值
随机加权平均会收敛于更广泛的最优值。在这种情况下,它就像几何集成。作为其他优化器的封装容器和内部优化器不同轨迹点的平均结果时,SWA 是一种提高模型性能的简单方法。
模型平均检查点
callbacks.ModelCheckpoint
无法让您在训练过程中保存移动平均权重,这就是为什么模型平均优化器需要自定义回调的原因。使用update_weights
参数,ModelAverageCheckpoint
允许您:
将移动平均权重分配给模型,然后保存它们。
保留旧的非平均权重,但保存的模型使用平均权重。
设置
In [ ]:
In [ ]:
In [ ]:
构建模型
In [ ]:
准备数据集
In [ ]:
我们在这里比较三个优化器:
解包的 SGD
带移动平均的 SGD
带随机加权平均的 SGD
查看它们在同一模型上的性能。
In [ ]:
MovingAverage
和 StocasticAverage
优化器均使用 ModelAverageCheckpoint
。
In [ ]:
训练模型
Vanilla SGD 优化器
In [ ]:
In [ ]:
移动平均 SGD
In [ ]:
In [ ]:
随机加权平均 SGD
In [ ]:
In [ ]: