Accuracy 类tf_keras.metrics.Accuracy(name="accuracy", dtype=None)
计算预测值与标签匹配的次数。
此指标创建两个局部变量:total 和 count,用于计算 y_pred 与 y_true 匹配的频率。此频率最终以 binary accuracy 的形式返回:一个幂等操作,仅将 total 除以 count。
如果 sample_weight 为 None,则权重默认为 1。使用 sample_weight 为 0 来屏蔽值。
参数
独立用法
>>> m = tf.keras.metrics.Accuracy()
>>> m.update_state([[1], [2], [3], [4]], [[0], [2], [3], [4]])
>>> m.result().numpy()
0.75
>>> m.reset_state()
>>> m.update_state([[1], [2], [3], [4]], [[0], [2], [3], [4]],
... sample_weight=[1, 1, 0, 0])
>>> m.result().numpy()
0.5
与 compile() API 一起使用
model.compile(optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.Accuracy()])
BinaryAccuracy 类tf_keras.metrics.BinaryAccuracy(name="binary_accuracy", dtype=None, threshold=0.5)
计算预测值与二元标签匹配的次数。
此指标创建两个局部变量:total 和 count,用于计算 y_pred 与 y_true 匹配的频率。此频率最终以 binary accuracy 的形式返回:一个幂等操作,仅将 total 除以 count。
如果 sample_weight 为 None,则权重默认为 1。使用 sample_weight 为 0 来屏蔽值。
参数
独立用法
>>> m = tf.keras.metrics.BinaryAccuracy()
>>> m.update_state([[1], [1], [0], [0]], [[0.98], [1], [0], [0.6]])
>>> m.result().numpy()
0.75
>>> m.reset_state()
>>> m.update_state([[1], [1], [0], [0]], [[0.98], [1], [0], [0.6]],
... sample_weight=[1, 0, 0, 1])
>>> m.result().numpy()
0.5
与 compile() API 一起使用
model.compile(optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.BinaryAccuracy()])
CategoricalAccuracy 类tf_keras.metrics.CategoricalAccuracy(name="categorical_accuracy", dtype=None)
计算预测值与 one-hot 标签匹配的次数。
您可以将类别的 logit 作为 y_pred 提供,因为 logit 和概率的 argmax 是相同的。
此指标创建两个局部变量:total 和 count,用于计算 y_pred 与 y_true 匹配的频率。此频率最终以 categorical accuracy 的形式返回:一个幂等操作,仅将 total 除以 count。
y_pred 和 y_true 应以概率向量的形式传入,而不是标签。如有必要,请使用 tf.one_hot 将 y_true 扩展为向量。
如果 sample_weight 为 None,则权重默认为 1。使用 sample_weight 为 0 来屏蔽值。
参数
独立用法
>>> m = tf.keras.metrics.CategoricalAccuracy()
>>> m.update_state([[0, 0, 1], [0, 1, 0]], [[0.1, 0.9, 0.8],
... [0.05, 0.95, 0]])
>>> m.result().numpy()
0.5
>>> m.reset_state()
>>> m.update_state([[0, 0, 1], [0, 1, 0]], [[0.1, 0.9, 0.8],
... [0.05, 0.95, 0]],
... sample_weight=[0.7, 0.3])
>>> m.result().numpy()
0.3
与 compile() API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.CategoricalAccuracy()])
SparseCategoricalAccuracy 类tf_keras.metrics.SparseCategoricalAccuracy(
name="sparse_categorical_accuracy", dtype=None
)
计算预测值与整数标签匹配的次数。
acc = np.dot(sample_weight, np.equal(y_true, np.argmax(y_pred, axis=1))
您可以将类别的 logit 作为 y_pred 提供,因为 logit 和概率的 argmax 是相同的。
此指标创建两个局部变量:total 和 count,用于计算 y_pred 与 y_true 匹配的频率。此频率最终以 sparse categorical accuracy 的形式返回:一个幂等操作,仅将 total 除以 count。
如果 sample_weight 为 None,则权重默认为 1。使用 sample_weight 为 0 来屏蔽值。
参数
独立用法
>>> m = tf.keras.metrics.SparseCategoricalAccuracy()
>>> m.update_state([[2], [1]], [[0.1, 0.6, 0.3], [0.05, 0.95, 0]])
>>> m.result().numpy()
0.5
>>> m.reset_state()
>>> m.update_state([[2], [1]], [[0.1, 0.6, 0.3], [0.05, 0.95, 0]],
... sample_weight=[0.7, 0.3])
>>> m.result().numpy()
0.3
与 compile() API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])
TopKCategoricalAccuracy 类tf_keras.metrics.TopKCategoricalAccuracy(
k=5, name="top_k_categorical_accuracy", dtype=None
)
计算目标值在前 K 个预测值中的次数。
参数
K 个元素的数量。默认为 5。独立用法
>>> m = tf.keras.metrics.TopKCategoricalAccuracy(k=1)
>>> m.update_state([[0, 0, 1], [0, 1, 0]],
... [[0.1, 0.9, 0.8], [0.05, 0.95, 0]])
>>> m.result().numpy()
0.5
>>> m.reset_state()
>>> m.update_state([[0, 0, 1], [0, 1, 0]],
... [[0.1, 0.9, 0.8], [0.05, 0.95, 0]],
... sample_weight=[0.7, 0.3])
>>> m.result().numpy()
0.3
与 compile() API 一起使用
model.compile(optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.TopKCategoricalAccuracy()])
SparseTopKCategoricalAccuracy 类tf_keras.metrics.SparseTopKCategoricalAccuracy(
k=5, name="sparse_top_k_categorical_accuracy", dtype=None
)
计算整数目标值在前 K 个预测值中的次数。
参数
K 个元素的数量。默认为 5。独立用法
>>> m = tf.keras.metrics.SparseTopKCategoricalAccuracy(k=1)
>>> m.update_state([2, 1], [[0.1, 0.9, 0.8], [0.05, 0.95, 0]])
>>> m.result().numpy()
0.5
>>> m.reset_state()
>>> m.update_state([2, 1], [[0.1, 0.9, 0.8], [0.05, 0.95, 0]],
... sample_weight=[0.7, 0.3])
>>> m.result().numpy()
0.3
与 compile() API 一起使用
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.SparseTopKCategoricalAccuracy()])