下面是model.fit_generator()函数的一些参数。这些对象保存在标记为回调的列表中。
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函数(它使用上面的回调参数):
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]
发布于 2020-10-14 23:16:36
您需要将monitor= 'val_acc'更改为monitor='val_loss'
checkpoint = ModelCheckpoint(
model_file,
monitor='val_loss',
save_best_only=True)发布于 2021-08-24 08:26:00
确保您使用的是model.compile(metrics=['accuracy']),而不是Accuracy或acc。同样在文件路径中使用val_accuracy。我最近就遇到过这个问题。
https://stackoverflow.com/questions/58138947
复制相似问题