深度学习中BATCH_SIZE的含义

深度学习中BATCH_SIZE的含义在目标检测SSD算法代码中,在训练阶段遇见代码BATCH_SIZE = 4steps_per_epoch=num_train // BATCH_SIZE即每一个epoch训练次数与BATCH_SIZE大小设置有关。因此如何设置BATCH_SIZE大小成为一个问题。BATCH_SIZE的含义BATCH_SIZE:即一次训练所抓取的数据样本数量;BA...
摘要由CSDN通过智能技术生成

深度学习中BATCH_SIZE的含义

在目标检测SSD算法代码中,在训练阶段遇见代码

BATCH_SIZE = 4
steps_per_epoch=num_train // BATCH_SIZE

即每一个epoch训练次数与BATCH_SIZE大小设置有关。因此如何设置BATCH_SIZE大小成为一个问题。

BATCH_SIZE的含义

BATCH_SIZE:即一次训练所抓取的数据样本数量;
BATCH_SIZE的大小影响训练速度和模型优化。同时按照以上代码可知,其大小同样影响每一epoch训练模型次数。

BATCH_SIZE带来的好处

最大的好处在于使得CPU或GPU满载运行,提高了训练的速度。
其次是使得梯度下降的方向更加准确。
因此为了弄懂BATCH_SIZE的优点,需要学习梯度下降的方法。

BATCH_SIZE大小的影响

若BATCH_SIZE=0;相当于直接抓取整个数据集,训练时间长,但梯度准确。但不适用于大样本训练,比如IMAGENET。只适用于小样本训练,但小样本训练一般会导致过拟合1现象,因此不建议如此设置。
若BATCH_SIZE=1;梯度变化波动大,网络不容易收敛。
若BATCH_SIZE设置合适,梯度会变准确。
此时再增加BATCH_SIZE大小,梯度也不会变得更准确。
同时为了达到更高的训练网络精度,应该增大epoch,使训练时间变长。

BATCH_SIZE大小如何影响训练梯度

梯度的方差表示为
V a r ( g ) = V a r ( 1 m ∑ i = 1 m g ( x i , y i ) ) = 1 m 2 V a r ( g ( x 1 , y 1 ) + g

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值