【目标检测】epoch、、batch、、batch_size理解

epoch是指数据集完整过一遍神经网络的过程。当数据量大时,会将其分成小批量(batch)处理。batch_size是每个batch中的样本数量,影响模型优化和GPU内存使用。合适的batch_size能提高内存利用率,使梯度下降更准确,但可能需更多epoch来达到相同精度。
部署运行你感兴趣的模型镜像

1 epoch

        当一个完整的数据集通过神经网络一次并且返回一次的过程称为一个epoch。

然而,当一个epoch对于计算机太过庞大时,就需要把它分成多个小块。

2 batch

        在不能将数据一次性通过神经网络的适合,就需要将数据集分成几个batch。

3 batch_size

        直观的理解

        一个batch中的样本总数(一次训练所选取的样本数)。

        batch_size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如你GPU显存不大,该数值最好设置小一点。

        提出batch_size的原因的原因

        在没有使用Batch Size之前,这意味着网络在训练时,是一次把所有的数据(整个数据库)输入网络中,然后计算它们的梯度行反向传播,由于在计算梯度时使用了整个数据库,所以计算得到的梯度方向更为准确。但在这情况下,计算得到不同梯度值差别巨大,难以使用一个全局的学习率,所以这时一般使用Rprop这种基于梯度符号的训练算法,单独进行梯度更新在小样本数的数据库中,不使用Batch Size是可行的,而且效果也很好。但是一旦是大型的数据库,一次性把所有数据输进网络,肯定会引起内存的爆炸。所以就提出Batch Size的概念。

batch_size设置合适时的优点

1、通过并行化提高内存的利用率。就是尽量让你的GPU满载运行,提高训练速度。

2、单个epoch的迭代次数减少了,参数的调整也慢了,假如要达到相同的识别精度,需要更多的epoch。

3、适当batch_size使得梯度下降方向更加准确

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

板砖拍在墙上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值