我正在尝试运行AdamOptimizer进行一步训练,但没有成功。
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加上一个逻辑损失函数。
有什么想法可能是错误的吗?
发布于 2017-11-02 03:34:31
optimizer.minimize(cost)正在您的图表中创建新的值和变量。
当您调用sess.run(init)时,.minimize方法创建的变量尚未定义:这是您的错误。
您只需在调用tf.global_variables_initializer()之前声明最小化操作
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})https://stackoverflow.com/questions/47062288
复制相似问题