Keras 分类器中的非零二进制精度但精度为 0

时间:2021-02-06 19:22:13

标签: python tensorflow machine-learning keras

我正在尝试在 TensorFlow 中训练 LSTM 分类器。这是一个可重现的例子

targets = np.array([1, 0, 1, 1, 0, 0])
features = np.arange(6, 2, 1)

model = tf.keras.Sequential([
    tf.keras.layers.LSTM(64),
    tf.keras.layers.Dense(1, activation='sigmoid')
])

model.compile(
    loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
    optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
    metrics=(['BinaryAccuracy'])
)

history = (model.fit(
    features,
    targets,
    epochs=5,
    verbose = 1)
)

使用 BinaryAccuracy

Epoch 1/5 1/1 [==============================] - 1s 1s/step - loss: 0.6788 - binary_accuracy: 0.5000

使用 Accuracy

Epoch 1/5 1/1 [==============================] - 1s 1s/step - loss: 0.6794 - accuracy: 0.0000e+00

我之前使用过“准确度”指标进行二元分类,有人可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

指标是“准确度”,而不是“准确度”。