FCN(语义分割)的mini-batch是什么概念?
What is the concept of mini-batch for FCN (semantic segmentation)?
当我们将一张图像发送到 FCN 进行语义分割时,mini-batch 是什么概念?
数据层的默认值为batch_size: 1
。这意味着每次向前和向后传递时,都会将一张图像发送到网络。那么小批量的大小是多少?它是图像中的像素数吗?
另一个问题是如果我们把几张图片一起发到网上怎么办?会影响收敛吗?在一些论文中,我看到了 20
图像的数量。
谢谢
批量大小是在单次训练操作中通过网络发送的图像数量。当在显卡或 cpu 集群上训练时,将一次性计算所有样本的梯度,从而通过并行性获得巨大的性能提升。
批量大小对训练有多种影响。首先,它通过对批次中的梯度进行平均来提供更稳定的梯度更新。这既可以是有益的,也可以是有害的。根据我的经验,它比有害更有益,但其他人报告了其他结果。
要利用并行性,批量大小主要是 2 的幂。因此可以是 8、16、32、64 或 128。最后,批量大小受显卡中 VRAM 的限制。该卡需要存储所有图像,并在图形的所有节点中存储结果以及所有梯度。
这会很快爆炸。在这种情况下,您需要减小批量大小或网络大小。
当我们将一张图像发送到 FCN 进行语义分割时,mini-batch 是什么概念?
数据层的默认值为batch_size: 1
。这意味着每次向前和向后传递时,都会将一张图像发送到网络。那么小批量的大小是多少?它是图像中的像素数吗?
另一个问题是如果我们把几张图片一起发到网上怎么办?会影响收敛吗?在一些论文中,我看到了 20
图像的数量。
谢谢
批量大小是在单次训练操作中通过网络发送的图像数量。当在显卡或 cpu 集群上训练时,将一次性计算所有样本的梯度,从而通过并行性获得巨大的性能提升。
批量大小对训练有多种影响。首先,它通过对批次中的梯度进行平均来提供更稳定的梯度更新。这既可以是有益的,也可以是有害的。根据我的经验,它比有害更有益,但其他人报告了其他结果。
要利用并行性,批量大小主要是 2 的幂。因此可以是 8、16、32、64 或 128。最后,批量大小受显卡中 VRAM 的限制。该卡需要存储所有图像,并在图形的所有节点中存储结果以及所有梯度。
这会很快爆炸。在这种情况下,您需要减小批量大小或网络大小。