keras fit训练模型时,训练神经网络模型过程中batch_size,steps_per_epoch,具体含义

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)

你可能感兴趣的:(tensorflow,神经网络,机器学习,深度学习,自然语言处理)