深圳Yolo 视觉
深圳
立即加入
词汇表

回调

探索回调如何优化Ultralytics 。学习如何实现早期停止、检查点保存和自定义日志记录,以提升您的AI工作流程。

在软件工程与 人工智能(AI)回调是指作为参数传递给其他代码的可执行代码片段,该代码随后将在指定时间执行(回调)该参数。在 深度学习(DL) 框架中, 回调是开发者定制模型行为的必备工具。 模型训练 循环的行为,而无需修改 核心训练代码本身。它们如同自动化触发器,在训练过程的不同阶段执行特定操作,例如在 训练批次、训练批次或整个训练会话的开始或结束时。

回调函数在机器学习中的作用

训练一个复杂的 神经网络 可能需要数小时甚至数天。若无回调机制,训练过程本质上如同"黑箱"运行直至完成, 通常需要人工监督。回调机制引入了可观察性和控制能力,使系统能够 基于实时性能指标进行自我调节。

在使用高级库如 PyTorchTensorFlow时,回调函数为向 优化算法。例如,当模型学习进展顺利时,回调函数可保存当前状态;若学习停滞,回调函数则可终止过程以节省资源。这使得 机器学习(ML) 工作流 更高效且更具鲁棒性。

常见应用与实际案例

回调功能灵活多变,可在模型监控过程中用于处理各类任务。 模型监控 和 优化过程中。

  • 早期终止:最常见的应用之一是 提前终止。该回调函数用于监控特定指标,例如 验证数据 。当 损失在设定轮次内停止下降时,回调函数将终止训练。此机制可防止 过拟合,确保模型能有效泛化至新数据而非死记硬背 训练数据
  • 模型检查点:在长时间训练过程中,硬件故障可能造成灾难性后果。检查点回调函数可保存模型权重。 模型权重 (例如每隔一个 epoch)或仅在模型达到新"最佳"分数时(如 准确率平均精确率(mAP)时重置模型权重。这确保您始终拥有性能最佳的模型备份版本。
  • 学习率调度: 学习率 控制模型权重每次更新时, 根据估计误差调整的幅度。回调函数可 动态调节该速率,在学习停滞时降低速率以帮助模型收敛至最优解, 该技术常被称为 学习率衰减
  • 日志记录与可视化:回调函数常用于与 实验追踪 工具。 它们将指标流式传输至 TensorBoardMLflow等仪表板,使数据科学家能够可视化 损失函数 和性能 图表。

使用Ultralytics YOLO实现回调

Ultralytics 支持强大的回调系统,允许用户在模型训练过程中挂钩事件,例如: YOLO26等模型训练过程中。该功能对在 Ultralytics 时需要自定义日志记录或 控制逻辑的情况。

以下是一个简洁示例,演示如何使用Python API定义并注册自定义回调函数,该函数会在每次训练周期结束时打印一条消息: Python

from ultralytics import YOLO


# Define a custom callback function
def on_train_epoch_end(trainer):
    """Callback function to execute at the end of each training epoch."""
    print(f"Epoch {trainer.epoch + 1} complete. Current Fitness: {trainer.fitness}")


# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")

# Register the custom callback to the model
model.add_callback("on_train_epoch_end", on_train_epoch_end)

# Train the model with the callback active
model.train(data="coco8.yaml", epochs=3)

回调函数与钩子函数

虽然两者相关,但区分回调与钩子是有益的 钩子。在PyTorch框架中,钩子通常是附加在特定张量上的低级函数。 tensor 操作或神经网络 层,用于在前向或反向传播过程中检查或修改梯度与输出。相较之下,回调函数 通常是与 训练循环 事件(开始、结束、批处理)而非数学计算图本身。

更多阅读和资源

对于希望深入理解如何优化训练工作流的人士,探索 超参数调优 是 合乎逻辑的下一步。此外,理解底层 计算机视觉(CV) 任务(如 物体检测) 物体检测实例分割 将 阐明为何需要通过回调实现精确的训练控制。对于企业级管理这些 流程, Ultralytics 提供集成解决方案, 可自动化处理众多回调驱动的行为。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入