machine-learning - keras中fit_generator()的优点

标签 machine-learning neural-network generator keras model-fitting

我想知道 keras 中的 fit_generator() 在内存使用方面是否比使用具有相同 batch_size 的常用 fit() 方法有任何优势 作为生成器的产量。我见过一些类似的例子:

def generator():
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# some data prep
...
while 1:
    for i in range(1875): # 1875 * 32 = 60000 -> # of training samples
        yield X_train[i*32:(i+1)*32], y_train[i*32:(i+1)*32]

如果我将其传递到 fit_generator() 方法中,或者将所有数据直接传递到 fit() 方法中并定义 batch_size > 32,这对(GPU?)内存有什么影响吗?

最佳答案

是的,当您需要增强数据以获得更好的模型准确性时,差异实际上就出现了。

为了提高效率,它允许使用 CPU 对图像进行实时数据增强。这意味着它可以使用 GPU 进行模型训练和更新,同时将增强图像的负载委托(delegate)给 CPU 并提供训练批处理。

关于machine-learning - keras中fit_generator()的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45284720/

相关文章:

neural-network - 使用 relu 进行梯度下降的影响

python - 使用keras生成器时什么是纪元?

python - 如何在 Python 中计算 Jaccard 指数?

python - 使用 Pandas 加载数据并使用 SkLearn 执行 LDA

python - 使用 4 channel DNA 数据输入 Keras 时出现格式错误

python - 解压生成器,生成字典

php - 拆分 PHP 生成器

python - scikit-learn 回归预测结果太好了。我搞砸了什么?

machine-learning - 使用 Weka 预测多个测试集

python-2.7 - TensorFlow 程序出错