我正在尝试运行一个adamoptimer进行一步培训,但没有成功。
optimizer = tf.train.AdamOptimizer(learning_rate)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
sess.run(optimizer.minimize(cost), feed_dict={X:X_data, Y: Y_data})
控制台发出一个难看的错误:
FailedPreconditionError (see above for traceback): Attempting to use uninitialized value beta1_power
[[Node: beta1_power/read = Identity[T=DT_FLOAT, _class=["loc:@W1"], _device="/job:localhost/replica:0/task:0/cpu:0"](beta1_power)]]
在代码中,cost是一个定义良好的函数,它使用两个参数x、y(分别输入nn和培训标签)实现conv nn加上logistic loss函数。
有什么可能是错误的想法吗?
最佳答案
optimizer.minimize(cost)
正在图形中创建新的值和变量。
当您调用sess.run(init)
时,.minimize
方法创建的变量还没有定义:从这个错误开始。
在调用之前,您只需声明最小化操作:
optimizer = tf.train.AdamOptimizer(learning_rate)
minimize = optimizer.minimize(cost)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
sess.run(minimize, feed_dict={X:X_data, Y: Y_data})
关于python - 运行Adam Optimizer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47062288/