1 首先看官方api
fit_generator(
generator, steps_per_epoch=None, epochs=1, verbose=1, callbacks=None,
validation_data=None, validation_steps=None, validation_freq=1,
class_weight=None, max_queue_size=10, workers=1, use_multiprocessing=False,
shuffle=True, initial_epoch=0
)
本文在此着重介绍steps_per_epoch这个参数的含义,steps_per_epoch:一轮epoch包含的步数(每一步是batch_size个数据送入),使用TensorFlow数据Tensor输入张量进行训练时,默认None自动分割,即数据集样本数/batch_size。
把训练样本的数量除以batch_size批大小得出。例如,您的数据集大小为100,且batch_size批大小为50,则steps_per_epoch值为2。
即steps_per_epoch=train_data_size/batch_size;也即是batch_size=全体数据集大小 / steps_per_epoch。如果设置batch_size的大小,那么在fit_generator时 , steps_per_epoch = len(x_train) // (batch_size*epochs)
训练代码如下:
model.fit(data, verbose=1, steps_per_epoch=steps_per_epoch, epochs=epochs)