小编Jud*_*AYE的帖子

Keras 在 epoch 结束之前评估验证数据

我想用 Keras 训练我的模型。我正在使用一个巨大的数据集,其中一个训练周期有超过 30000 个步骤。我的问题是,我不想在检查验证数据集上的模型改进之前等待一个纪元。有没有办法让 Keras 每 1000 步训练数据评估一次验证数据?我认为一种选择是使用回调,但是 Keras 有内置的解决方案吗?

if train:
    log('Start training')
    history = model.fit(train_dataset,
                      steps_per_epoch=train_steps,
                      epochs=50,
                      validation_data=val_dataset,
                      validation_steps=val_steps,
                      callbacks=[
                            keras.callbacks.EarlyStopping(
                                monitor='loss',
                                patience=10,
                                restore_best_weights=True,
                            ),
                            keras.callbacks.ModelCheckpoint(
                                filepath=f'model.h5',
                                monitor='val_loss',
                                save_best_only=True,
                                save_weights_only=True,
                            ),
                            keras.callbacks.ReduceLROnPlateau(
                                monitor = "val_loss", 
                                factor = 0.5, 
                                patience = 3, 
                                min_lr=0.001,
                            ),
                        ],
                )
Run Code Online (Sandbox Code Playgroud)

neural-network deep-learning keras tensorflow tf.keras

5
推荐指数
1
解决办法
2061
查看次数