Tensorflow 为什么不同优化器之间的模型大小存在巨大差异?

Tensorflow 为什么不同优化器之间的模型大小存在巨大差异?,tensorflow,neural-network,deep-learning,Tensorflow,Neural Network,Deep Learning,使用TensorFlow,当优化器为tf.train.GradientDescentOptimizer时,我的模型大小(model.ckpt.data)为88M,但当优化器更改为tf.train.AdamOptimizer时,它变为220M 为什么会有如此巨大的差异?ADAM为每个可训练参数添加了两个运行方式(梯度和梯度平方),作为附加的非可训练参数,这意味着它将总参数的数量增加到三倍。这些不可训练的参数也会被保存,因为它们是重新启动学习过程所必需的。这就是为什么模型检查点更大。谢谢您的回答。保

使用TensorFlow,当优化器为
tf.train.GradientDescentOptimizer
时,我的模型大小(model.ckpt.data)为88M,但当优化器更改为
tf.train.AdamOptimizer
时,它变为220M


为什么会有如此巨大的差异?

ADAM为每个可训练参数添加了两个运行方式(梯度和梯度平方),作为附加的非可训练参数,这意味着它将总参数的数量增加到三倍。这些不可训练的参数也会被保存,因为它们是重新启动学习过程所必需的。这就是为什么模型检查点更大。

谢谢您的回答。保存不可培训的参数仅用于根据您的答案重新启动学习过程。我想知道更多,如果我不需要重新开始训练,是否可以选择不保存两个不可训练的参数以使模型文件变小?如果答案是肯定的,你能给我一些示例代码或相关API吗?谢谢