PyTorch自动驾驶视觉感知算法实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.4 什么是批次(Batch)

卷积神经网络是针对图片数据发明的。图片数据非常大,一幅640×480的低清晰度RGB图片就能占据将近1MB的内存空间,而常用的自动驾驶数据集数据量都超过了100GB。如果使用梯度下降法,每更新一次都需要把整个数据集输入到模型中计算梯度,在数据量少的情况下这是可以做到的,但对于图像数据,每一次计算梯度都使用整个数据集显然是不现实的,于是随机梯度下降法(Stochastic Gradient Descent,SGD)就应运而生了。

随机梯度下降法每一次更新都只使用数据集中的若干幅图片作为输入,下一次更新则随机地从数据集中挑选新一批图片,所以称之为随机梯度下降法。每一次更新使用的几幅图片被称为一个批次(Batch)。批次大小(Batch Size)是指一个批次中图片的数目。批次大小一般是固定的,如每一次更新都取8幅图。通过不重复地加载图片,最终将覆盖整个数据集。每完整地覆盖训练数据集一次,就称为一个Epoch。训练一个卷积神经网络,往往需要50个以上的Epoch。