首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用tf.metrics.accuracy?

如何使用tf.metrics.accuracy?
EN

Stack Overflow用户
提问于 2017-10-17 09:43:47
回答 1查看 2.6K关注 0票数 1

我想使用tf.metrics.accuracy来跟踪我的预测的准确性,但是我不知道如何使用函数返回的update_op (acc_update_op ):

代码语言:javascript
复制
accuracy, acc_update_op = tf.metrics.accuracy(labels, predictions)

我认为将它添加到tf.GraphKeys.UPDATE_OPS中是有意义的,但我不知道如何做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-17 10:04:55

tf.metrics.accuracy是众多流度量TensorFlow操作之一(另一个是tf.metrics.recall)。在创建时,将创建两个变量(counttotal),以便为一个最终结果积累所有传入结果。第一个返回的值是计算count / total的张量。返回的第二个op是一个有状态函数,它更新这些变量。在对多批数据进行分类器性能评估时,流度量函数非常有用。一个快速的使用示例:

代码语言:javascript
复制
# building phase
with tf.name_scope("streaming"):
    accuracy, acc_update_op = tf.metrics.accuracy(labels, predictions)

test_fetches = {
    'accuracy': accuracy,
    'acc_op': acc_update_op
}

# when testing the classifier    
with tf.name_scope("streaming"):
    # clear counters for a fresh evaluation
    sess.run(tf.local_variables_initializer())

for _i in range(n_batches_in_test):
    fd = get_test_batch()
    outputs = sess.run(test_fetches, feed_dict=fd)

print("Accuracy:", outputs['accuracy'])

我认为将它添加到tf.GraphKeys.UPDATE_OPS中是有意义的,但我不知道如何做到这一点。

除非您只将UPDATE_OPS集合用于测试目的,否则这不是一个好主意。通常,集合对于培训阶段已经有某些控制操作(例如移动批处理规范化参数),这些操作不打算与验证阶段一起运行。最好是将它们保存在一个新集合中,或者手动将这些操作添加到提取字典中。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46787174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档