如何在训练后获得分数和准确度

joy*_*jee 5 python machine-learning neural-network deep-learning keras

model.fit(X_train, y_train, batch_size = batch_size,
     nb_epoch = 4, validation_data = (X_test, y_test),
     show_accuracy = True)    
score = model.evaluate(X_test, y_test, 
     batch_size = batch_size, show_accuracy = True, verbose=0)
Run Code Online (Sandbox Code Playgroud)

给出标量输出,因此以下代码不起作用.

print("Test score", score[0])
print("Test accuracy:", score[1])
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:训练20000个样本,验证5000个样本

Epoch 1/4

20000/20000 [==============================] - 352s - loss: 0.4515 - val_loss: 0.4232

Epoch 2/4

20000/20000 [==============================] - 381s - loss: 0.2592 - val_loss: 0.3723

 Epoch 3/4

 20000/20000 [==============================] - 374s - loss: 0.1513 - val_loss: 0.4329

 Epoch 4/4

 20000/20000 [==============================] - 380s - loss: 0.0838 - val_loss: 0.5044
Run Code Online (Sandbox Code Playgroud)

Keras版本1.0

我怎样才能获得准确性?请帮忙

Mar*_*jko 4

如果您使用Sequential模型,您可以尝试(代码更新):

nb_epochs = 4
history = model.fit(X_train, y_train, batch_size = batch_size,
 nb_epoch = nb_epochs, validation_data = (X_test, y_test),
 show_accuracy = True)

print("Test score", history.history["val_loss"][nb_epochs - 1])
print("Test acc", history.history["val_acc"][nb_epochs - 1])
Run Code Online (Sandbox Code Playgroud)