训练模型时,我无法获得准确性
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.
我不知道为什么分数是一个标量变量。
如何获得我的准确性?
答案 0 :(得分:6)
编译Keras模型时,可以指定要在该模型上监视的指标。从documentation:
model.compile(loss='mean_squared_error',
optimizer='sgd',
metrics=['mae', 'acc'])
在这里,我们指定了我们希望模型输出平均绝对误差(mae
)和准确性(acc
)。
默认情况下,您的模型仅跟踪损失。您只有一个度量标准,因此.evaluate
的结果是单个数字(标量),并且不支持索引编制,因此会出错。