TensorFlow 2.0:如何正确计算CategoricalAccuracy?

时间:2019-06-17 14:56:41

标签: python numpy tensorflow tensorflow2.0

我正在试验 TensorFlow 2.0 ,但在从 CategoricalAccuracy 损失函数获取有意义的值时遇到了问题。特别是,即使我更改数据,也总是返回相同的结果。

我准备了一个玩具示例来说明:

# import necessary modules
import numpy as np
import tensorflow as tf

# create an accuracy object
accuracy = tf.keras.metrics.CategoricalAccuracy()

# Create two arrays to be fed into the loss function
x = np.array([[0.1, 0.1, 0.8, 0.0, 0.0, 0.0], 
              [0.9, 0.0, 0.1, 0.0, 0.0, 0.0], 
              [0.0, 0.0, 0.0, 0.0, 0.9, 0.1]])

y = np.array([[0.0, 0.0, 1.0, 0.0, 0.0, 0.0], 
              [1.0, 0.0, 0.0, 0.0, 0.0, 0.0], 
              [0.0, 0.0, 0.0, 0.0, 1.0, 0.0]])

# Compute loss and print the result
accuracy.update_state(x, y)
print(accuracy.result().numpy())

我向x输入yaccuracy的内容并不重要,我多次更改了值,但是却得到了:

1.0

我不明白自己在做什么错。

0 个答案:

没有答案