Keras中model.fit_generator()与model.fit()有何关键差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2583个文字,预计阅读时间需要11分钟。
首先,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中的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(默认)。

