Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow:如何正确计算auc_Tensorflow - Fatal编程技术网

Tensorflow:如何正确计算auc

Tensorflow:如何正确计算auc,tensorflow,Tensorflow,以下是我计算精度和auc的函数: def calc_metrics(is_test): model_name = 'Dataset/test' if is_test else 'Dataset/train' model = ModelNet10(model_name) batch_size = 50 epoch_lim = int(model.dataset_len / batch_size) + 1 acc = 0 auc_var = tf.contrib.metrics.streamin

以下是我计算精度和auc的函数:

def calc_metrics(is_test):

model_name = 'Dataset/test' if is_test else 'Dataset/train'
model = ModelNet10(model_name)
batch_size = 50
epoch_lim = int(model.dataset_len / batch_size) + 1
acc = 0

auc_var = tf.contrib.metrics.streaming_auc(out, lbl)
sess.run(tf.local_variables_initializer())

for i in range(epoch_lim):
    images, labels = model.next_batch(batch_size)
    feed_dict = {x: images, y_: labels, keep_prob_drop1: 1.0, keep_prob_drop2: 1.0}

    auc, cur_acc = sess.run([auc_var, accuracy], feed_dict=feed_dict)
    acc += cur_acc / epoch_lim

return acc, auc[0]
这里记录此函数的输出所产生的结果:

Test accuracy/Auc = 0.8463888929949868/0.9650000333786011
Iter 2700, Minibatch Loss 2555.335205078125, Batch Accuracy 0.800000011920929
Test accuracy/Auc = 0.8077777789698706/0.9772918820381165
Iter 2800, Minibatch Loss 1188.008056640625, Batch Accuracy 0.8999999761581421
Test accuracy/Auc = 0.8074999981456332/0.968892514705658
Iter 2900, Minibatch Loss 426.5060119628906, Batch Accuracy 0.8999999761581421
Test accuracy/Auc = 0.7513888908757105/0.9779732823371887
Iter 3000, Minibatch Loss 5560.1845703125, Batch Accuracy 0.699999988079071
Test accuracy/Auc = 0.8733333349227907/0.9733150005340576
Iter 3100, Minibatch Loss 3904.02490234375, Batch Accuracy 0.8999999761581421
在我看来,Auc非常高——太高了。我已经检查了tensorflow文档上百次了,但我能理解可能的错误


谁能帮我找到一个错误吗

网络的输出返回什么?标签是什么?神经网络返回9个值的向量。标签是一个热编码的标签。我从标签和神经网络输出中获取tf.argmax,并将其提供给流式auc。我做得对吗?您的网络输出返回什么?标签是什么?神经网络返回9个值的向量。标签是一个热编码的标签。我从标签和神经网络输出中获取tf.argmax,并将其提供给流式auc。我做得对吗?