iteration 、epoch、batch_size详解

一个epoch表示“大层面上的一次迭代”,也就是指,(假定是训练阶段)处理完所有训练图片,叫一个epoch。但是每次训练图片可能特别多,内存/显存塞不下,那么每个epoch内,将图片分成一小堆一小堆的,每一小堆图片数量相等,每一小堆就是一个batch(批次)。因而,一个epoch内,就要处理多个batch。batch_size表示的是,每个batch内有多少张图片。
而一个epoch,一共需要分成多少个batch呢?这个batch的数目,就叫做train_iter(训练阶段)或者test_iter(测试阶段)
总结:

train_iter * batch_size = 一个epoch要处理的所有图片(可能因为整除的原因,不严格相等,让左边略大即可。训练阶段)
或者:
train_iter * batch_size = 一个epoch要处理的所有图片(测试阶段。)

关于深度学习中的batch_size 详细参考下列链:

1、https://www.cnblogs.com/gengyi/p/9853664.html

2、https://www.cnblogs.com/alexanderkun/p/8099450.html

猜你喜欢

转载自blog.csdn.net/ytusdc/article/details/85381144