Keras Callbacks 是 Keras 框架中非常有用的工具,它允许你在训练过程中执行自定义操作。以下是一些常用的 Callbacks 及其用法。
常用 Callbacks
ModelCheckpoint:在训练过程中保存模型权重。
checkpoint = ModelCheckpoint('model.h5', save_best_only=True) model.fit(x_train, y_train, callbacks=[checkpoint])
EarlyStopping:当验证集上的性能不再提升时停止训练。
early_stopping = EarlyStopping(monitor='val_loss', patience=3) model.fit(x_train, y_train, validation_data=(x_val, y_val), callbacks=[early_stopping])
ReduceLROnPlateau:当验证集上的性能不再提升时降低学习率。
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=2) model.fit(x_train, y_train, validation_data=(x_val, y_val), callbacks=[reduce_lr])
LearningRateScheduler:根据时间或轮数动态调整学习率。
lr_scheduler = LearningRateScheduler(lambda epoch: 1e-3 * 10**(epoch / 20)) model.fit(x_train, y_train, callbacks=[lr_scheduler])
TensorBoard:用于可视化训练过程中的数据。
tensorboard = TensorBoard(log_dir='./logs') model.fit(x_train, y_train, callbacks=[tensorboard])
扩展阅读
想要了解更多关于 Keras Callbacks 的信息,可以参考 Keras 官方文档。
图片展示
Keras 模型结构
以上是 Keras 模型结构图,可以帮助你更好地理解 Keras 的内部机制。