Kerase.Model.fit_generator()bit fit()更省内存

函数-参数

   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 训练损失和评估值,以及验证集损失和评估值的记录(如果适用)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值