2016-12-27 120 views
0

在TensorFlow(Python)中,当添加到图表tf.train.RMSPropOptimizer时,是否添加了需要初始化的额外变量?如果是,我怎样才能访问它们并手动初始化它们? (我宁愿不使用tf.global_variables_initializer)。换句话说: (1)我怎样才能决定使用哪个初始化器? (2)如何将initulator操作添加到图中,专门用于这些变量?RMSPropOptimizer初始化

编辑1:

我这里指的是每当我添加RMSPropOptimizer被添加到图中的任何新tf.Variable,以及它是如何初始化(就像其他tf.Variable S)。我不是指RMSPropOptimizer的构造函数中的参数(它们是模型的超参数)。

回答

0

在TensorFlow(Python)中,向图添加tf.train.RMSPropOptimizer时是否添加了需要初始化的其他变量?

是的。

如果是,我该如何访问它们并手动初始化它们? (我宁愿不使用tf.global_variables_initializer)。

从文档:

tf.train.RMSPropOptimizer.__init__(learning_rate, decay=0.9, momentum=0.0, epsilon=1e-10, use_locking=False, centered=False, name='RMSProp')

至少有3(decaymomentum,和epsilon)。

换句话说:(1)如何决定使用哪种初始化工具?

这个我没有很好的答案 - 我在课堂上被告知“只是使用亚当”。总的来说,这可能是一个很好的建议,但我想有些情况下其他人工作得更好。这可能值得在线搜索博客文章或调查论文等。

(2)如何将初始化器op添加到图中,特别是这些变量?

您可以将它们作为命名参数传递给构造函数。

+0

我的意思是在我的问题是RMSPropOptimizer是否添加到图需要初始化的新tf.variables。我不是指构造函数中的参数(它是网络的超参数) – Lior

+0

是的,这些变量也需要初始化。 –