Keras fit() 函数会默认自动打乱输入数据集吗?

数据挖掘 机器学习 深度学习 喀拉斯
2022-02-13 15:53:36

我在问这个模型 fit() 函数。

fit(x=array_x, y=array_y, batch_size=32, epochs=10)

问题很简单:

fit() 是否会自动 打乱输入数据集?(在这种情况下,array_x,array_y)

我问这个问题是因为我发现我的 fit() 和 fit_generator() 有不同的输出,但输入相同。我的生成器按顺序将输入提供给 fit_generator( )。我想原因是关于洗牌。

1个回答

是的,默认情况下它会随机播放。

这是文档

默认调用签名:

fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None,
    validation_split=0.0, validation_data=None, shuffle=True, 
    lass_weight=None, sample_weight=None, initial_epoch=0,
    steps_per_epoch=None, validation_steps=None, validation_freq=1,
    ax_queue_size=10, workers=1, use_multiprocessing=False)

其中的描述shuffle是:

shuffle:布尔值(是否在每个 epoch 之前对训练数据进行洗牌)或 str(用于“批处理”)。当 x 是生成器时,此参数将被忽略。'batch' 是处理 HDF5 数据限制的特殊选项;它以批量大小的块进行洗牌。当 steps_per_epoch 不是 None 时无效。

这意味着如果您为steps_per_epoch.