TensorFlow 中的 Callbacks 是一种非常有用的机制,它允许你在训练过程中进行自定义操作。以下是一些常用的 Callbacks 以及它们的作用。
常用 Callbacks 列表
ModelCheckpoint
: 在训练过程中保存模型权重。EarlyStopping
: 当验证集上的性能不再提升时停止训练。ReduceLROnPlateau
: 当验证集上的性能不再提升时降低学习率。TensorBoard
: 用于可视化训练过程。
ModelCheckpoint
ModelCheckpoint
Callback 允许你在训练过程中保存模型权重。以下是一个简单的例子:
from tensorflow.keras.callbacks import ModelCheckpoint
checkpoint = ModelCheckpoint('best_model.h5', save_best_only=True)
在上面的代码中,当模型在验证集上的性能提升时,best_model.h5
文件会被保存。
EarlyStopping
EarlyStopping
Callback 允许你在验证集上的性能不再提升时停止训练。这可以避免过拟合,并节省计算资源。
from tensorflow.keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(monitor='val_loss', patience=3)
在上面的代码中,如果验证集上的损失在连续 3 个 epoch 中没有改善,训练将会停止。
ReduceLROnPlateau
ReduceLROnPlateau
Callback 允许你在验证集上的性能不再提升时降低学习率。
from tensorflow.keras.callbacks import ReduceLROnPlateau
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2, patience=2)
在上面的代码中,如果验证集上的损失在连续 2 个 epoch 中没有改善,学习率将会降低 20%。
TensorBoard
TensorBoard
Callback 允许你可视化训练过程。你可以通过以下命令启动 TensorBoard:
tensorboard --logdir=/path/to/your/logs
然后,你可以通过浏览器访问 http://localhost:6006
来查看可视化结果。
更多关于 TensorBoard 的信息,请访问本站 TensorBoard 教程。
TensorFlow Logo