跳到主要内容

训练参数详解

训练创建对话框中的参数直接决定训练的收敛速度、最终精度和资源消耗。本页逐一说明每个参数的含义、默认值和调整建议,帮助你做出合理配置。

基本训练参数

基本训练参数区
图1:训练创建对话框中的基本训练参数

核心训练参数

字段类型必填默认值说明
epochs数字必填100训练轮数,即整个数据集被完整遍历的次数。建议 100 到 300。过少会欠拟合,过多可能过拟合,可结合早停机制观察曲线决定
batchSize数字必填16批次大小,每次梯度更新使用的图片数。显存不足时调小(8 或 4),大显存可调大(32 或 64)以加快训练
learningRate数字必填0.01初始学习率,控制每次参数更新的步长。常用 0.001 到 0.01。过大会导致训练不稳定,过小则收敛缓慢

这三个参数是训练效果的关键。其中学习率影响最大,批次大小受显存约束,轮数需要结合收敛曲线判断。

调优建议

调优建议
  • 学习率最关键:如果训练不稳定(Loss 曲线剧烈震荡或出现 NaN),优先尝试降低学习率(如从 0.01 调到 0.001)。
  • 批次大小看显存:出现显存不足错误时,先把批次大小减半(如 16 调到 8),再考虑其他参数。
  • 图像尺寸影响精度和速度:640 是大多数场景的良好起点。增大尺寸通常能提升精度,但训练和推理都会变慢。
  • 轮数先少后多:建议先用 100 轮观察收敛曲线。如果验证集指标还在提升,可以增加轮数继续训练。

图像参数

高级设置区展开
图2:展开高级设置后的图像参数区
字段类型必填默认值说明
imageSize下拉可选640输入图像尺寸(正方形),可选 320 / 416 / 512 / 640 / 800 / 1024 / 1280。尺寸越大精度通常越高,但训练和推理越慢
imageWidth数字可选640输入图像宽度(矩形模式),步进为 8。仅在开启矩形训练模式时生效
imageHeight数字可选480输入图像高度(矩形模式),步进为 8。仅在开启矩形训练模式时生效
rectMode开关可选矩形训练模式。开启后保留图像原始宽高比,不做正方形缩放,适合非正方形图像

矩形训练模式

矩形训练模式

默认关闭时,所有图像被缩放为正方形(如 640×640),两边的空白区域用填充补齐。这种方式实现简单,但会引入无效的填充像素。

开启矩形模式后,图像保留原始宽高比(如 640×480),不再拉伸或填充。对于宽高比明显偏离 1:1 的数据集(如监控视频的 16:9 画面),可能提升非正方形目标的检测精度。

开启后,系统使用 imageWidthimageHeight 两个字段,而不再使用 imageSize

显存不足怎么办

显存不足怎么办

训练时如果报错显存不足(CUDA Out of Memory),按以下优先级依次尝试:

  1. 减小批次大小:最直接有效,把 batchSize 从 16 降到 8 或 4。
  2. 减小图像尺寸:把 imageSize 从 640 降到 512 或 416。
  3. 关闭数据增强:减少训练时的额外内存占用。

需要注意的是,GPU 显存使用量大致与「批次大小」和「图像尺寸的平方」成正比。例如图像尺寸从 640 提升到 1280,单张图片的显存占用约为原来的 4 倍。

迁移学习的参数预填

迁移学习的参数预填

从模型版本行点击「用此数据训练」发起训练时,系统会自动预填该版本训练时使用过的参数,包括:

  • 模型架构(modelType
  • 训练轮数(epochs
  • 批次大小(batchSize
  • 学习率(learningRate
  • 图像尺寸(imageSize / imageWidth / imageHeight
  • 矩形训练模式(rectMode

这是一个方便的起点,方便你在已有版本的基础上复用一套验证过的配置。预填值仅供参考,所有字段仍可自由修改。

训练详情中的参数标签

训练详情中的参数标签

训练完成后,在任务详情页可以看到本次训练使用的完整参数。常见的标签及其含义:

  • 训练轮数(epochs):完整遍历数据集的次数
  • 批次大小(batch_size):每次梯度更新使用的图片数
  • 图像尺寸(imgsz):训练时输入图像的尺寸
  • 初始学习率(lr0):训练开始时的学习率
  • 最终学习率(lrf):训练结束时的学习率(由余弦退火等策略决定)
  • 优化器(optimizer):使用的优化算法,如 SGD、AdamW
  • 早停耐心值(patience):验证指标连续多少轮不提升后停止训练
  • 数据增强(augment):是否开启训练时数据增强
  • Mosaic 增强(mosaic):是否开启 Mosaic 拼接增强
  • 权重衰减(weight_decay):正则化项,防止过拟合
  • 预热轮数(warmup_epochs):训练初期学习率从 0 线性升到初始值的轮数

通过这些标签可以追溯每一次训练的完整配置,方便复现实验和对比不同参数组合的效果。