Python TensorFlow和Keras中的公制行为

Python TensorFlow和Keras中的公制行为,python,tensorflow,machine-learning,keras,Python,Tensorflow,Machine Learning,Keras,我正在试图了解TensorFlow和Keras中的度量系统是如何工作的 我有一个包含密集层的序列模型,唯一的度量是“准确性”(作为字符串): model.compile( # [...] 指标=[“准确度”], 损耗=“二进制交叉熵”) 与该准确度相关的平均值在90%到100%之间 然而,我尝试在seing上所有可用的类之后更改我的度量,并用其Python类等价物替换了“accurity”: model.compile( # [...] metrics=[tf.keras.metrics.ac

我正在试图了解TensorFlow和Keras中的度量系统是如何工作的

我有一个包含密集层的序列模型,唯一的度量是
“准确性”
(作为字符串):

model.compile(
# [...]
指标=[“准确度”],
损耗=“二进制交叉熵”)
与该准确度相关的平均值在90%到100%之间

然而,我尝试在seing上所有可用的类之后更改我的度量,并用其Python类等价物替换了
“accurity”

model.compile(
# [...]
metrics=[tf.keras.metrics.accurity()],
损耗=“二进制交叉熵”)
没有对数据集或模型进行任何修改(除了度量),但值发生了变化:精度现在在40%到60%之间

然后,我尝试传递的一个实例,但结果与之前相同

我的问题是:


不是“准确度”并且应该表示相同的度量?

请使用tf.keras.metrics.BinaryCrossentropy()而不是tf.metrics.accurity(),然后您会发现相同的结果

此处的“精度”取决于损失函数