我使用TensorFlow构建深度学习模型。对TensorFlow来说是新的。如何用累积梯度更新模型参数?
由于某种原因,我的模型的批量大小有限,那么这个有限的批量大小将使模型具有很高的方差。
所以,我想用一些技巧来增大批量。我的想法是存储每个小批量的梯度,例如64个小批量,然后将梯度求和在一起,使用这64个小批量训练数据的平均梯度来更新模型的参数。
这意味着对于前63个小批次,不要更新参数,并且在64个小批量后,只更新一次模型参数。
但是,由于TensorFlow是基于图形的,有谁知道如何实现这个想要的功能?
非常感谢。
[sync replicas optimizer](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/sync_replicas_optimizer.py)你在找什么? –
似乎我可以存储所有中间渐变,然后计算渐变的均值,然后更新模型参数。 – weixsong
同步副本优化器似乎适用于多GPU并行训练。我会研究它是否可以利用它。 – weixsong