为什么会有KeyError:'val_acc'?

时间:2019-02-09 01:45:17

标签: python machine-learning keras deep-learning

在我的Keras代码中,我执行了以下操作:

model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])
history = model.fit(border_irregularity_features,y, epochs=5, batch_size=1, validation_split=0.33)
...
...
accuracy = history.history['acc']
val_acc = history.history['val_acc']

但是,我遇到以下错误:

val_acc = history.history['val_acc']
KeyError: 'val_acc'

那是为什么?我想念什么?

谢谢。

EDIT-1

当我这样做的时候:

print history.history.keys()

我知道了

['acc', 'loss', 'val_acc', 'val_loss']

2 个答案:

答案 0 :(得分:2)

代码本身似乎没有问题。我已经从另一个脚本中复制了部分代码。我只是删除了“ val_acc”和“ val_loss”中的下划线,然后再次键入它们,就可以了!

也许在复制和粘贴时嵌入了一些特殊字符?

答案 1 :(得分:0)

从tensorflow 2中,历史记录密钥如下:([['val_loss','val_accuracy','val_precision','val_recall','loss','accuracy','precision','recall'])