我正在尝试使用tensorflow中的一些简单模型,其中之一与第一个MNIST for ML Beginners example非常相似,但维度较大。我能够使用梯度下降优化器无问题地进行训练,并获得足够好的收敛效果。当我尝试使用ADAM优化器时,我会遇到以下错误:
tensorflow.python.framework.errors.FailedPreconditionError: Attempting to use uninitialized value Variable_21/Adam
[[Node: Adam_2/update_Variable_21/ApplyAdam = ApplyAdam[T=DT_FLOAT, use_locking=false, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_21, Variable_21/Adam, Variable_21/Adam_1, beta1_power_2, beta2_power_2, Adam_2/learning_rate, Adam_2/beta1, Adam_2/beta2, Adam_2/epsilon, gradients_11/add_10_grad/tuple/control_dependency_1)]]
在运行过程中,抱怨未初始化的特定变量会发生变化。这个错误是什么意思?它表明了什么出了问题?似乎无论使用哪种学习率都会发生。
AdamOptimizer
添加到图中以来,您可以使用tf.initialize_variables([list,of,variables])
仅使用新变量和tf.all_variables()
。我必须说,这种方法不应该在意味着要运行多次的代码中使用,但在实验时效果很好。 - Poiktf.global_variables_initializer()
替代。 - LYu