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]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容