tf.metrics.accuracy()与tf.reduce_mean(tf.cast(tf.argmax(z, 1), tf.argmax(y, 1)), tf.float32)

今天发现在两个计算精确率准确率的玩意儿对不上,满脑子懵了……
感谢这位博主写的文章:tf.metrics.accuracy计算的是正确率吗

所以说【tf.reduce_mean(tf.cast(tf.argmax(z, 1), tf.argmax(y, 1)), tf.float32)】计算的是本batch正确率:

correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(z, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

而【tf.metrics.accuracy()】计算的是整个session生存期内所有feed_dict中的数据的正确率。

accuracy = tf.metrics.accuracy(labels=tf.argmax(y, axis=1), predictions=tf.argmax(z, axis=1))[1]

你可能感兴趣的:(Deep,Learning)