【发布时间】:2019-07-03 06:50:43
【问题描述】:
在我的 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']
【问题讨论】:
-
history.history没有名为“val_acc”的键。您可以安全地尝试使用history.history.get('val_acc', None)使用get键,如果缺少键,None是默认值。如果您在尝试获取特定密钥之前需要知道名称,您可能需要print所有密钥:print(history.history.keys()),假设history.history是dict的一个实例 -
无法使用 MNIST 数据重现您的错误;能否请您发布
history.history的结果以及您的 Keras 版本? -
感谢您的友好回复。请参阅EDIT-1
-
您确定错误的来源在以下行吗?
val_acc = history.history['val_acc']改成val_acc = history.history['val_loss']会不会出现同样的错误?
标签: python machine-learning keras deep-learning