浅谈Batch和minibatch

很多论文中,通常在Experiments这一块,会写一下training strategies,其中一定会写到训练采用的Batch_size是XX(如64,32等等),或者是minibatch_size=XX(如16,8等等)。那么batch和minibatch有什么关系呢?
在这里插入图片描述
比如上图,batch size为32,但是这32张图是不可能放在一张卡上训的,不然显存早就爆了。通常来说,我们训练模型会放在多张卡上,从而加快训练。那么,batch_size指的是你同时多张卡上训的图片数量,而minibatch_size通常指的是每张卡的训练图片数量。
举个例子,我用四张1080Ti训SSD,通常SSD的minibatch为8,那我就把batch_size设为32,这样每张卡的minibatch就为8,从而能达到最好的训练精度和速度的平衡。
minibatch和batch真正意义上的差别就是,网络是用按照minibatch的大小的样本来更新一次网络参数的,跟batch没多大关系。
所以,论文提到batch_size大小,如果你想复现,记得看一下他是用了几块卡训练的。

你可能感兴趣的:(深度学习,深度学习,tricks)