我想知道 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/