Tensorflow MNIST - 特定测试图像的准确度

时间:2017-07-20 18:58:13

标签: python tensorflow mnist

以下是我用于预测特定mnist图像的代码,如何获得预测完成的准确度?

_pre是logits

    _x  = loaded_graph.get_tensor_by_name('x:0')
    _y  = loaded_graph.get_tensor_by_name('y:0')
    _pre  = loaded_graph.get_tensor_by_name('prediction:0')
    p = tf.argmax(_pre, 1)
    i = imageprepare('./image.png')
    print(p.eval(feed_dict={_x: [i]}))

1 个答案:

答案 0 :(得分:2)

我假设“准确度”意味着“分配给所选标签的概率”。从您的代码中不清楚_pre是如何创建的。如果它由概率向量组成(即,softmax已经应用),那么您可以获得如下准确度:

acc=tf.reduce_max(_pre, 1)
print(acc.eval(feed_dict={_x: [i]}))

原因是p是最大概率的位置,而准确性(在这种情况下为acc)是最大概率本身。

如果_pre由logits向量组成(即,如果在softmax上应用_pre将给出概率向量),

然后这将完成这项工作:

acc=tf.reduce_max(tf.nn.softmax(_pre), 1)
print(acc.eval(feed_dict={_x: [i]}))