我想了解从let numbers = [1,3,5,10,15]
newNumbers = numbers ++ [27]
listofnumbers = newNumbers ++ [39]
返回的值
考虑以下最小示例:
tf.metrics.accuracy
输出:
predictions = tf.constant([[1,0,1], [1,0,1]], dtype=tf.int32)
labels = tf.constant([[0,0,1], [1,0,1]], dtype=tf.int32)
acc = tf.metrics.accuracy(labels, predictions)
with tf.Session() as sess:
sess.run(tf.local_variables_initializer())
res = sess.run(acc)
print(res)
第二个值是我所期望的(我们有5/6个值,其中(0.0, 0.8333333)
是5/6〜= 0.83),但是第一个零值对我来说是个谜?
TensorFlow docs这样说:
返回:
- accuracy:表示张量的准确性,即 总数除以计数。
- update_op:增加 适当地总计和计数变量,并且其值匹配 准确性。
但是这表明两个返回操作的值都应该为0.83,不是吗? (但是那之后返回2个操作的意义何在?!)
感觉我缺少一些基本知识!
答案 0 :(得分:2)
根据张量流代码和描述,第一个值是不使用最新一批数据(在流式传输数据的情况下)计算出的精度,第二个值是使用所有数据计算出的最终精度。张量流将其用于数据的流处理。