2
Tensorflow a une fonction pour calculer AUC: tf.metrics.auc(). Voici mon une section de mon code en essayant de calculer auc:Impossible d'obtenir le tf.metrics.auc de Tensorflow fonctionnant
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}))
Toute section de l'erreur que je reçois est ci-dessous. L'erreur entière est assez longue.
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)]]
J'apprécierais tous les pointeurs sur la façon de résoudre ce problème. Merci
Le changement ci-dessous a permis de code à exécuter sans erreur: 'roc_score = tf.metrics.auc (y, pred) sess.run (tf.local_variables_initializer()) impression (sess.run (roc_score, feed_dict = {x: x_test, y: y_test, p_keep_input: 1.0, p_keep_hidden: 1.0})) '. Le défi maintenant est d'obtenir un score AUC de 0.0. Je ne peux pas comprendre ce qui ne va pas en ce moment. –