在学习tensorflow时,有几个地方都能设置batch_size
参数,这里对batch_size的设置做一个总结
首先强调一下,这个batch_size的作用就是规定每次梯度更新的样本数量(规定小批量梯度下降每次梯度更新的样本数量)
目前已知设置 batch_size 的地方有:
- tf.data.batch() 函数、生成器或
keras.utils.Sequence
实例 都能通过内部方法生成batch
- fit() 函数中的
batch_size
参数
根据输入数据类型的不同,可分为如下两种情况:
-
如果fit() 函数的数据采用数据集(包括 tf.data, tf.data默认
batch_size=32
),生成器或keras.utils.Sequence
实例的形式(因为它们会内部生成batch
),那么这些数据内部的会生成batch
,此时通过 fit() 函数中的batch_size
参数设置batch_size
无效(fit方法会内部屏蔽batch_size
参数) -
当如果fit() 函数的数据不是数据集(包括 tf.data, tf.data默认
batch_size=32
),生成器或keras.utils.Sequence
实例的形式时,则可以通过fit() 函数中的 batch_size 参数设置batch_size
注:batch()
方法不能重复使用,使用batch()
方法会增加一个维度!