运行亚当优化

2024-04-27 23:53:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图运行一个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和logistic loss函数

有什么可能是错的吗?


Tags: 函数rundatarateinittftrainnn
2条回答

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})

相关问题 更多 >