Can';t似乎没有得到Tensorflow';s tf.metrics.auc正在工作
Tensorflow有一个计算AUC的函数:tf.metrics.AUC()。下面是我试图计算auc的代码的一部分:Can';t似乎没有得到Tensorflow';s tf.metrics.auc正在工作,tensorflow,deep-learning,metrics,auc,Tensorflow,Deep Learning,Metrics,Auc,Tensorflow有一个计算AUC的函数:tf.metrics.AUC()。下面是我试图计算auc的代码的一部分: init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) for epoch in range(training_epochs): sess.run(optimizer, feed_dict = {x : x_train, y : y_t
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for epoch in range(training_epochs):
sess.run(optimizer, feed_dict = {x : x_train, y : y_train, p_keep_input: 0.8, p_keep_hidden: 0.5})
avg_cost = sess.run(cost, feed_dict = {x : x_train, y : y_train, p_keep_input: 0.8, p_keep_hidden: 0.5})
if epoch % display_step == 0:
training_acc = accuracy.eval({x : x_train, y : y_train, p_keep_input: 1.0, p_keep_hidden: 1.0})
print("Epoch:", '%03d' % (epoch), "Training Accuracy:", '%.5f' % (training_acc), "cost=", "{:.5f}".format(avg_cost))
print("Optimization Done!")
roc_score = tf.metrics.auc(y, pred)
roc_score = tf.convert_to_tensor(roc_score)
print(roc_score.eval({x : x_test, y : y_test, p_keep_input: 1.0, p_keep_hidden: 1.0}))
下面是我得到的错误的任何部分。整个错误相当长
FailedPreconditionError (see above for traceback): Attempting to use uninitialized value auc_4/false_positives
[[Node: auc_4/false_positives/read = Identity[T=DT_FLOAT, _class=["loc:@auc_4/false_positives"], _device="/job:localhost/replica:0/task:0/cpu:0"](auc_4/false_positives)]]
如果有任何关于如何解决这个问题的建议,我将不胜感激。谢谢现在可能太晚了,但如果您还没有找到解决方案,请尝试以下更改:
sess.run(tf.global_variables_initializer())
sess.run(tf.local_variables_initializer())
_,roc_score = tf.metrics.auc(y, pred)
print(sess.run(roc_score, feed_dict={x : x_test, y : y_test, p_keep_input: 1.0, p_keep_hidden: 1.0}))
下面的更改允许代码无错误运行:
roc_score=tf.metrics.auc(y,pred)sess.run(tf.local_variables_initializer())print(sess.run(roc_score,feed_dict={x:x_test,y:y_test,p_keep_input:1.0,p_keep_hidden:1.0})
。现在的挑战是我的AUC得分为0.0。我不知道这一点出了什么问题。请参见: