Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Batch Size

批大小是模型每次更新权重时处理的训练样本数量。它决定 GPU 内存用量、训练速度和梯度噪声。

批次大小是模型在更新模型权重之前一次处理的训练样本数量。训练不会一次性将整个训练数据集输入神经网络,而是将其拆分成多个批次。对于每个批次,模型会进行预测,损失函数会对预测结果进行评分,反向传播会计算梯度,优化器则执行一次更新。批次大小是一个超参数,同时决定三件事:训练所需的 GPU 内存、每个轮次的运行速度,以及每次梯度估计的噪声大小。

批次大小如何影响训练#

每个批次都会为优化算法提供一个针对整个数据集的梯度估计;批次越大,估计就越精确。下面的 PyTorch 代码片段通过对不同大小的随机批次进行多次采样,并计算每个样本梯度的平均值,直接测量这种精度:

import torch

torch.manual_seed(0)

# Per-sample gradients of a squared-error loss for 10,000 samples
x = torch.randn(10_000)
y = 2 * x + torch.randn(10_000)
w = torch.tensor(0.0)
per_sample_grads = 2 * (w * x - y) * x

# Estimate the gradient from 1,000 random batches at each batch size
for batch_size in (8, 64, 512):
    idx = torch.randint(0, len(x), (1000, batch_size))
    batch_grads = per_sample_grads[idx].mean(dim=1)
    print(f"batch {batch_size:3d}: gradient std {batch_grads.std():.3f}")

梯度估计的离散程度从批次大小为 8 时的 2.248,降至 64 时的 0.771 和 512 时的 0.267。批次大小每增加 8 倍,噪声就会减少约 2.9 倍,接近 √8;这符合独立样本取平均值时的规律。

这种噪声决定了小批次与大批次之间的权衡:

  • 小批次(例如 8 到 32):更新噪声较大,每个轮次的步数较多。这种噪声起到温和的正则化作用,通常有助于随机梯度下降(SGD)提升泛化能力;小批次也能在配置较低的硬件上运行,但由于 GPU 会部分闲置,每个轮次耗时更长。
  • 大批次(例如 256 及以上):梯度平滑,每个轮次的步数较少,硬件利用率高。正如 Keskar 等人的研究所发现的那样,非常大的批次往往会收敛到泛化能力较差的尖锐极小值;而且由于每个轮次的步数较少,需要按比例提高学习率,并设置预热阶段。使用这种线性缩放规则,Goyal 等人在 256 个 GPU 上以 8,192 的批次大小,用一小时在 ImageNet 上训练了 ResNet-50,并达到了与小批次训练相当的准确率。

内存限制与梯度累积#

GPU 内存必须容纳模型权重、优化器状态,以及反向传播所需的中间激活值;激活值占用的内存会随批次大小和图像分辨率线性增长。批次无法装入内存时,训练会因内存不足(OOM)错误而停止。混合精度训练可将激活值内存大致减半;梯度累积则会在每次权重更新前累加多个小批次的梯度,以达到更大的有效批次大小。

Ultralytics YOLO训练内置了这项功能:它会持续累积梯度,直到处理约 64 张图像,即标称批次大小 nbs;因此预热结束后,默认的 batch=16 会每四个批次更新一次权重。设置 batch=-1 会运行 AutoBatch,选择能够装入约 60% 可用 CUDA 内存的最大批次;在 CPU 和 Apple MPS 设备上则会回退到批次大小 16。

from ultralytics import YOLO

# 加载预训练的 YOLO26n 模型
model = YOLO("yolo26n.pt")

# batch=-1 会让 AutoBatch 根据可用 GPU 内存选择批次大小
# 使用整数(batch=16)指定固定大小,或使用浮点数(batch=0.70)指定内存占比
results = model.train(data="coco8.yaml", epochs=5, batch=-1)

训练开始前,AutoBatch 会以 1 到 16 的批次大小运行 YOLO26 模型(在 16 GB 或更大显存的 GPU 上最高可达 64),根据测得的内存用量拟合一条直线,并求出达到目标占比的批次大小。

  • 轮次与迭代:一个轮次是对整个数据集进行一次遍历;一次迭代则是一次权重更新。每个轮次的迭代次数等于数据集大小除以批次大小并向上取整,因此,批次大小为 100 时,1,000 张图像需要 10 次迭代。
  • 小批次:在大多数深度学习资料中,这是批次的同义词。严格来说,批量梯度下降每次更新使用整个数据集,随机梯度下降每次使用一个样本,小批量梯度下降介于两者之间;几乎所有现代网络都采用这种方式训练。
  • 批归一化:使用当前批次的均值和方差对激活值进行归一化的层,因此批次特别小时,其统计量会变得不可靠。组归一化不受这种依赖影响;据报告,在 ImageNet 上以批次大小 2 训练 ResNet-50 时,其错误率比批归一化低 10.6%。
  • 推理批次大小:部署时,批处理会在推理延迟与吞吐量之间进行权衡。将多个摄像头的帧分组可以提高每秒处理的图像数量,但每帧都要等待批次填满。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来