tf.keras指标中reset_states()和update_state()的含义是什么?

pxq42qpu  于 2022-12-04  发布在  其他
关注(0)|答案(2)|浏览(256)

我正在检查tensorflow.keras中非常简单的指标对象,如BinaryAccuracyAUC。它们都有reset_states()update_state()参数,但我发现它们的文档不充分且不清楚。
你能解释一下它们的意思吗?

9gm1akwq

9gm1akwq1#

update_state测量指标(mean、auc、accuracy),并将它们存储在对象中,以便以后可以使用result进行检索:
第一个
reset_states将度量重置为零:
第一次
我不确定我说得比文档更清楚,在我看来,它解释得很好。
调用该对象(例如mean_object([1, 2, 3, 4]))将更新度量,* 和 * 返回result
第一个

q3aa0525

q3aa05252#

我认为默认情况下,.result()方法计算.update_states给定的所有值的平均值。

import tensorflow as tf

m = tf.keras.metrics.Accuracy()
m.update_state([[1], [2], [3], [4]], [[0], [2], [3], [4]])
result = m.result().numpy()
print(f"result: {result}")
m.update_state([[1], [2], [3], [4]], [[0], [0], [3], [4]])
result = m.result().numpy()
print(f"result: {result}")

这里,第一组值的精确度是0.75,第二组值的精确度是0.5。因此,对方法“result”的最后一次调用将输出0.625。这等于(0.75+0.5)/2。

相关问题