batch是批的意思,CNN处理数据是分批次处理的。作用:可以更好的处理非凸的损失函数,也能更好的利用资源。batch_size就是每批里面的个数了。
一个epoch指的是把所有的训练数据丢进神经网络中训练一次。通常我们的数据量比较大,一次性处理所有的数据效率会受到影响,这时候就会进行分批,如果一次处理一个数据,那就是Stochastic Gradient Descent,如果将数据分为若干批,就是Mini-batch Gradient Descent。分批之后每份的数量就是batch_size,而分成几份就是iteration。
epoch指的是次数,epoch = 10 指的是把整个数据集丢进神经网络训练10次。
batch size 指的是数据的个数,batch size = 20,指的是每次扔进神经网络训练的数据是20个,也就是数据分批后每批有20个数据。
iteration分批的份数,iteration = 10 指的是把整个数据集平分成10份扔进神经网络。
举个例子:100个训练数据,其中epoch=10,batch_size=20,那么iteration=?
答案是iteration=5.
上面问题的意思是,整个数据集会被训练10次(epoch),每次训练数据,将数据分成5份(iteration),每份里面有20个数据(batch_size)。