Keras中model.fit_generator()与model.fit()有何关键差异?

2026-05-24 21:470阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2583个文字,预计阅读时间需要11分钟。

Keras中model.fit_generator()与model.fit()有何关键差异?

首先,Keras中的fit()函数传入的x_train和y_train是已完全加载进内存的数据。这样做非常方便,但当数据量很大时,将所有数据一次性加载进内存可能导致内存溢出。此时,我们需要采用不同的方法。

首先Keras中的fit()函数传入的x_train和y_train是被完整的加载进内存的,当然用起来很方便,但是如果我们数据量很大,那么是不可能将所有数据载入内存的,必将导致内存泄漏,这时候我们可以用fit_generator函数来进行训练。

keras中文文档

fit

fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

以给定数量的轮次(数据集上的迭代)训练模型。

参数

x: 训练数据的 Numpy 数组(如果模型只有一个输入), 或者是 Numpy 数组的列表(如果模型有多个输入)。 如果模型中的输入层被命名,你也可以传递一个字典,将输入层名称映射到 Numpy 数组。 如果从本地框架张量馈送(例如 TensorFlow 数据张量)数据,x 可以是 None(默认)。

阅读全文

本文共计2583个文字,预计阅读时间需要11分钟。

Keras中model.fit_generator()与model.fit()有何关键差异?

首先,Keras中的fit()函数传入的x_train和y_train是已完全加载进内存的数据。这样做非常方便,但当数据量很大时,将所有数据一次性加载进内存可能导致内存溢出。此时,我们需要采用不同的方法。

首先Keras中的fit()函数传入的x_train和y_train是被完整的加载进内存的,当然用起来很方便,但是如果我们数据量很大,那么是不可能将所有数据载入内存的,必将导致内存泄漏,这时候我们可以用fit_generator函数来进行训练。

keras中文文档

fit

fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

以给定数量的轮次(数据集上的迭代)训练模型。

参数

x: 训练数据的 Numpy 数组(如果模型只有一个输入), 或者是 Numpy 数组的列表(如果模型有多个输入)。 如果模型中的输入层被命名,你也可以传递一个字典,将输入层名称映射到 Numpy 数组。 如果从本地框架张量馈送(例如 TensorFlow 数据张量)数据,x 可以是 None(默认)。

阅读全文