epoch和batch到底是个什么鬼?
背景说明
先上个简单的代码记录一下我此刻懵懵的状态:

问个问题:
从图中可以看到我现在正在看一个关于CNN文本分类的代码,github上有很多。该代码是data_helper.py 文件中的一个函数,该函数是一个batch样本生成器,这里面就涉及到了神经网络里经常用到的batch_size和epoch,它们的含义究竟是什么呢?
一句话回答:
我有1000个数据,batch_size设置为500,那么我需要2次iterations,完成1次epoch。(来源)
batch
1.定义
Batch:批处理,顾名思义就是对某对象进行批量的处理。——百度百科
训练神经网络时,在数据集很大的情况下,不能一次性载入全部的数据进行训练,电脑会支撑不住,其次全样本训练对于非凸损失函数会出现局部最优,所以要将大的数据集分割进行分批处理。
batch_size就是每批处理的样本的个数。
备注:</

本文探讨了在自然语言处理(NLP)中,epoch和batch的概念。epoch是指完整遍历一次数据集,而batch是指每次训练时处理的数据子集大小。batch_size的选择影响模型的训练过程,过大可能导致更快收敛但易陷入局部最优,过小则可能造成训练不稳定性。通过generator实现的batch样本生成器有助于理解这些概念。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



