了解批量大小对深度学习的影响。有效地优化训练速度、内存使用和模型性能。
批量大小是机器学习领域中一个关键的超参数,它决定了 决定了 模型更新其内部参数之前所处理的训练数据样本数。 模型更新其内部参数之前处理的训练数据样本数量。深度学习不需要一次性分析整个数据集--由于内存限制,这在计算上往往是不可能的。 深度学习 框架将数据分成更小的组,称为批次。这种划分决定了学习过程的稳定性 的稳定性、计算速度以及所需的内存量。 GPU所需的内存量。选择 在计算效率和模型收敛质量之间取得平衡。 收敛质量之间的平衡。
批量大小的选择会从根本上改变神经网络的学习方式。 神经网络的学习方式。当批次大小设 值较低时,模型会更频繁地更新其 模型权重更新得更频繁,从而在梯度下降过程中引入噪音。 梯度下降过程。这种噪音 往往能帮助优化算法摆脱局部极小值,找到更稳健的解决方案。 局部最小值,找到更稳健的解决方案,这有助于 防止过度拟合。相反,更大的批次规模 能提供更准确的梯度估计,从而实现更平滑、更稳定的更新,但它们需要 但它们需要更多的硬件内存,而且有时会导致 "泛化差距",即模型 在训练数据上表现良好,但在未见过的数据上效果较差。
硬件能力往往决定了这一参数的上限。现代硬件加速器,如 英伟达™(NVIDIA®)深度学习性能指南 NVIDIA®)深度学习性能指南中详细介绍的那些硬件加速器,都依赖于并行计算来同时处理大数据块。 同时处理大量数据块。因此,使用与处理器架构相匹配的批次大小--通常是 2 的幂次,如 32、64 或 64。 通常是 32、64 或 128 的 2 次方,这样可以最大限度地提高吞吐量,减少每个 时间。
要在不同行业部署有效的人工智能解决方案,了解如何调整这一参数至关重要。 行业部署有效的人工智能解决方案至关重要。
使用时 Ultralytics Python 软件包,配置批次
大小很简单。批量大小 batch 参数允许你精确指定模型在更新权重之前
在更新权重前应查看多少张图像。如果设置为 -1图书馆还可以使用
自动批处理功能 自动确定
硬件可支持的最大批量大小。
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)
对于从业者来说,将 "批量大小 "与深度学习框架中的类似术语区分开来非常重要。 深度学习框架中的类似术语。

