函数-参数
fit_generator(self, 生成器和模型并行运行,以提高效率. 例如,这可以让你在 CPU 上对图像进行实时数据增强,以在 GPU 上训练模型。
generator, 一个生成器,或者一个 Sequence (keras.utils.Sequence) 对象的实例, 以在使用多进程时避免数据的重复。 生成器的输出应该为以下之一:
一个 (inputs, targets) 元组
一个 (inputs, targets, sample_weights) 元组。
这个元组(生成器的单个输出)组成了单个的 batch。
因此,这个元组中的所有数组长度必须相同(与这一个 batch 的大小相等)。 不同的 batch 可能大小不同。
例如,一个 epoch 的最后一个 batch 往往比其他 batch 要小, 如果数据集的尺寸不能被 batch size 整除。
生成器将无限地在数据集上循环。当运行到第 steps_per_epoch 时,记一个 epoch 结束。
steps_per_epoch=None, 在声明一个 epoch 完成并开始下一个 epoch 之前从 generator 产生的总步数(批次样本)。
它通常应该等于你的数据集的样本数量除以批量大小。
对于 Sequence,它是可选的:如果未指定,将使用len(generator) 作为步数。
epochs=1, 整数。训练模型的迭代总轮数。
一个 epoch 是对所提供的整个数据的一轮迭代,如 steps_per_epoch 所定义。
注意,与 initial_epoch 一起使用,epoch 应被理解为「最后一轮」。
模型没有经历由 epochs 给出的多次迭代的训练,而仅仅是直到达到索引 epoch 的轮次。
verbose=1, 0,1,2.日志显示0=安静模式,1=进度条,2=每轮一行
callbacks=None, keras.callbacks.Callback 实例的列表。在训练时调用的一系列回调函数。
validation_data=None, 它可以是以下之一:
验证数据的生成器或 Sequence 实例
一个 (inputs, targets) 元组
一个 (inputs, targets, sample_weights) 元组。
在每个 epoch 结束时评估损失和任何模型指标。该模型不会对此数据进行训练。
validation_steps=None, 仅当 validation_data 是一个生成器时才可用。
在停止前 generator 生成的总步数(样本批数)。
对于 Sequence,它是可选的:如果未指定,将使用 len(generator) 作为步数。
class_weight=None, 可选的将类索引(整数)映射到权重(浮点)值的字典,用于加权损失函数(仅在训练期间)。
这可以用来告诉模型「更多地关注」来自代表性不足的类的样本。
max_queue_size=10, 整数。生成器队列的最大尺寸。 如未指定,max_queue_size 将默认为 10。
workers=1, 整数。使用的最大进程数量,如果使用基于进程的多线程。
如未指定,workers 将默认为 1。如果为 0,将在主线程上执行生成器。
use_multiprocessing=False,布尔值。如果 True,则使用基于进程的多线程。
如未指定, use_multiprocessing 将默认为 False。
请注意,由于此实现依赖于多进程,所以不应将不可传递的参数传递给生成器,因为它们不能被轻易地传递给子进程。
shuffle=True, 是否在每轮迭代之前打乱 batch 的顺序。 只能与 Sequence (keras.utils.Sequence) 实例同用。
initial_epoch=0): 开始训练的轮次(有助于恢复之前的训练)。
返回
一个 History 对象。其 History.history 属性是连续 epoch 训练损失和评估值,以及验证集损失和评估值的记录(如果适用)。