首页 > 解决方案 > tf.keras.metrics.Accuracy 和 tf.keras.metrics.BinaryAccuracy 有什么区别?

问题描述

看来我不能使用tf.keras.metrics.Accuracy代替tf.keras.metrics.BinaryAccuracy. 这是为什么?

我有一个trainer基于本教程的:

>>>tf.random.set_seed(42)
>>>trainer = CatDogTrainer(initial_epochs=1, model_type='mobile_net')
>>>trainer.metrics
[<tensorflow.python.keras.metrics.BinaryAccuracy at 0x7f2fcc7f72e8>]
>>>trainer.train()
582/582 [==============================] - 55s 94ms/step - loss: 1.8132 - binary_accuracy: 0.7372 - val_loss: 0.0000e+00 - val_binary_accuracy: 0.0000e+00

>>>tf.random.set_seed(42)
>>>trainer = CatDogTrainer(initial_epochs=1, model_type='mobile_net')
>>>trainer.metrics
[<tensorflow.python.keras.metrics.Accuracy at 0x7f0dfd4f8be0>]
>>>trainer.train()
ValueError: Shapes (None, 2) and (None, 1) are incompatible

我也可以用metrics=['accuracy']. tf在这种情况下使用什么类?顺便说一句,它tf.keras.metrics.Accuracy有一个属性。nameaccuracy

标签: tensorflowkerastensorflow2.0

解决方案


推荐阅读