为什么我的keras代码没有显示准​​确性值?

时间:2019-03-24 08:11:10

标签: python machine-learning keras

训练模型时,我无法获得准确性

model.fit(train, train_label,
          batch_size=64,
          epochs=12,
          verbose=1,
          validation_data=(test, test_label))

当我训练数据时,它显示如下:

Epoch 1/12
8000/8000 [==============================] - 166s 21ms/step - loss: 0.4743 - val_loss: 0.2727

它显示损失的数量,但没有准确性。

当我评估时,

score = model.evaluate(test, test_label, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])

它告诉我:

 IndexError: invalid index to scalar variable.

我不知道为什么分数是一个标量变量。

如何获得我的准确性?

1 个答案:

答案 0 :(得分:6)

编译Keras模型时,可以指定要在该模型上监视的指标。从documentation

model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=['mae', 'acc'])

在这里,我们指定了我们希望模型输出平均绝对误差(mae)和准确性(acc)。

默认情况下,您的模型仅跟踪损失。您只有一个度量标准,因此.evaluate的结果是单个数字(标量),并且不支持索引编制,因此会出错。