重用AdamOptimizer并避免奇怪的行为/内存不足

时间:2019-01-04 17:15:46

标签: python tensorflow

我正在尝试运行100 x 100个不同的简短最小化,而不创建10000个会话和优化程序。

如果每次最小化都创建一个新的AdamOptimizer,则会出现内存不足错误。但是每个优化器都可以工作。损失几乎总是减少。

我尝试以下操作:

optimizer = tf.train.AdamOptimizer(0.1)
for i in range(100):
    self.session.run(tf.global_variables_initializer(), feed_dict=...)
    tf.variables_initializer(optimizer.variables())
    # run 100 minimizations with the optimizer

但是优化器的行为非常奇怪。损失将减少并增加数倍。当损失很小时,它会突然增加很多,如Loss suddenly increases with Adam Optimizer in Tensorflow

AdamOptimizer内部跟踪不使用变量的调用次数:How to initialise only optimizer variables in Tensorflow?

这意味着tf.global_variables_initializer()无法重置此计数。这可能会导致奇怪的行为。

如何重用AdamOptimizer?

0 个答案:

没有答案