Python KeyError:';val#U acc';

Python KeyError:';val#U acc';,python,keras,image-recognition,Python,Keras,Image Recognition,下面是model.fit_generator()函数的一些参数。这些对象保存在标记为回调的列表中 checkpoint = ModelCheckpoint( model_file, monitor= 'val_acc', save_best_only=True) early_stopping = EarlyStopping( monitor='val_loss', patience=5, verbose=1,

下面是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_生成器函数(它使用上面的回调参数):

我得到的错误是:

KeyError: 'val_acc'
据我所知,这意味着val_acc不在列表中。但事实是。。所以我需要帮助来理解我为什么会犯这个错误

编辑:


错误前的结果图片显示..[/p>您需要将
监视器='val\u acc'
更改为
监视器='val\u loss'

checkpoint = ModelCheckpoint(
        model_file, 
        monitor='val_loss', 
        save_best_only=True)

val\u accurity
…你能粘贴每个历元打印的内容吗?@SayandipDutta我在错误停止训练之前包含了我得到的结果。很明显,你需要输入
val\u acc
而不是
val\u acc
checkpoint = ModelCheckpoint(
        model_file, 
        monitor='val_loss', 
        save_best_only=True)