【问题标题】:How to get both score and accuracy after training训练后如何同时获得分数和准确率
【发布时间】:2016-08-28 01:59:27
【问题描述】:
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)

提供标量输出,因此以下代码不起作用。

print("Test score", score[0])
print("Test accuracy:", score[1])

我得到的输出是: 训练 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

Keras 1.0 版

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

【问题讨论】:

  • 考试成绩是什么意思?是test loss吗?
  • 你能打印 history.history.keys() 吗?
  • 键是loss和val_loss。
  • 尝试添加 metrics = ["accuracy"] 以适应参数。

标签: python machine-learning neural-network deep-learning keras


【解决方案1】:

如果您使用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])

【讨论】:

  • 感谢 Marcin,但我的模型没有生成任何 val_acc 字段,从 model.fit 的输出中可以看出。我猜 show_accuracy = True 论点在我的情况下不起作用
  • 您能打印出您的历史词典有哪些类型的字段(例如打印)吗?你使用顺序模型吗?你有什么版本的 Keras?
  • 我使用顺序模型
  • 这给出了错误 Received unknown keyword arguments: {'metrics': ['accuracy']}。我检查了源代码(github.com/fchollet/keras/blob/master/keras/legacy/models.py),似乎回调参数是我最安全的选择。明天试试那个部分。感谢马尔辛的帮助。咻!
  • 是的 - 我发现我的错误 - 你应该添加 metrics = ["accuracy"] 来编译参数。
【解决方案2】:

谢谢 Marcin,你是对的。

代码需要是这样的

model.compile(loss='binary_crossentropy',
          optimizer = 'adam',
          metrics=["accuracy"])

show_accuracy 在 model.fit 中没有任何作用,需要从那里删除。

【讨论】:

    猜你喜欢
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 2023-03-17
    • 2020-10-17
    • 1970-01-01
    • 2018-07-20
    相关资源
    最近更新 更多