Python 为什么我会有keyrerror:';val#U acc';?
在我的Keras代码中,我执行了以下操作:Python 为什么我会有keyrerror:';val#U acc';?,python,machine-learning,keras,deep-learning,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'] va
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'
为什么呢?我错过了什么
谢谢
编辑-1
当我这样做的时候:
print history.history.keys()
我得到:
['acc', 'loss', 'val_acc', 'val_loss']
代码本身似乎没有问题。我从另一个脚本中复制了部分代码。我刚刚删除了“val_acc”和“val_loss”中的下划线,然后再次键入,结果成功了
复制和粘贴时可能会嵌入一些特殊字符?来自tensorflow 2的历史键如下:(['val_loss'、'val_Accurance'、'val_precision'、'val_recall'、'loss'、'Accurance'、'precision'、'recall'])
历史。历史
没有名为“val acc的键。您可以使用history.history.get('val_acc',None)
安全地尝试获取
密钥,其中无
是缺少密钥时的默认值。如果在尝试获取特定密钥之前需要知道名称,则可能需要打印所有密钥:print(history.history.keys())
,假设history.history
是dict
的一个实例,无法使用MNIST数据再现错误;你能发布历史记录的结果吗?历史记录以及你的Keras版本?谢谢你的回复。请参见编辑-1是否确定错误源位于下一行val\u acc=history.history['val\u acc']
如果将其更改为:val\u acc=history.history['val\u loss']
,是否会出现相同的错误?