tf.keras.metrics.CategoricalAccuracy()重复计算同一组数据结果不一样

问题遇到的现象和发生背景

tf.keras.metrics.CategoricalAccuracy()重复计算同一组数据结果不一样

用代码块功能插入代码,请勿粘贴截图

model = tf.keras.models.Sequential([
tf.keras.layers.Normalization(),
tf.keras.layers.Dense(20,activation='relu'),
tf.keras.layers.Dense(10,activation='relu'),
tf.keras.layers.Dense(3),
tf.keras.layers.Softmax()
])

optimizer = tf.keras.optimizers.RMSprop(0.001)
loss_fn = tf.keras.losses.CategoricalCrossentropy()
accuracy = tf.keras.metrics.CategoricalAccuracy()

model.compile(optimizer=optimizer,
loss=loss_fn,
metrics=accuracy
)
model.fit(train_x,train_y,epochs=10)

for _ in range(10):
print(model(test_x).numpy()[0])
print(accuracy(model(test_x).numpy(),test_y).numpy())
print(model(test_x).numpy()[0],"\n")

运行结果及报错内容

[0.96033335 0.03411439 0.00555221]
0.96760565
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.9675926
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.9675799
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.96756756
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.9675556
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.96754384
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.96753246
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.96752137
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.9675105
[0.96033335 0.03411439 0.00555221]

[0.96033335 0.03411439 0.00555221]
0.9675
[0.96033335 0.03411439 0.00555221]

当前发现可以用model.evaluate计算下都一样