[英]KeyError: 'val_acc'
以下是 model.fit_generator() function 的一些參數。這些對象保存在標記為回調的列表中。
checkpoint = ModelCheckpoint(
model_file,
monitor= 'val_acc',
save_best_only=True)
early_stopping = EarlyStopping(
monitor='val_loss',
patience=5,
verbose=1,
restore_best_weights=True)
tensorboard = TensorBoard(
log_dir=log_dir,
batch_size=batch_size,
update_freq = 'batch')
reduce_lr = ReduceLROnPlateau(
monitor='val_loss',
patience=5,
cooldown=2,
min_lr=0.0000000001,
verbose=1)
#-----------------------------------------------------------------------------------------------------------------#
callbacks = [checkpoint, reduce_lr, early_stopping, tensorboard]
在為對象創建回調對象和參數后,我實現了層並編譯(未顯示,因為它與我遇到的問題無關)。 然后我運行 model.fit_generator function(使用上面的回調 arguments):
history = model.fit_generator(
train_generator,
steps_per_epoch = steps_per_epoch,
epochs=epochs,
verbose=2,
callbacks=callbacks,
validation_data=validation_generator,
validation_steps=validation_steps,
class_weight=class_weight)
我得到的錯誤是:
KeyError: 'val_acc'
據我了解,這意味着 val_acc 不在列表中。 但它是..所以需要幫助來理解為什么我會收到這個錯誤。
編輯:
錯誤前的結果圖片顯示..[ https://i.stack.imgur.com/5lheg.png]
您需要將monitor= 'val_acc'
更改為monitor='val_loss'
checkpoint = ModelCheckpoint(
model_file,
monitor='val_loss',
save_best_only=True)
確保您使用model.compile(metrics=['accuracy'])
,而不是Accuracy
或acc
。 同樣在文件路徑中使用val_accuracy
。 我最近遇到了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.