fit_generator() 在keras中的优势
Advantage of fit_generator() in keras
我想知道 keras 中的 fit_generator()
在内存使用方面是否比使用通常的 fit()
方法具有与生成器产生的相同 batch_size
的优势。我见过一些类似的例子:
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()
方法并定义 32 的 batch_size
,这对 ( GPU?)-内存?
是的,当您需要增强数据以获得更好的模型准确性时,差异实际上就出现了。
为了提高效率,它允许使用 CPU 对图像进行实时数据增强。这意味着它可以使用 GPU 进行模型训练和更新,同时将增强图像的负载委托给 CPU 并提供要训练的批次。
我想知道 keras 中的 fit_generator()
在内存使用方面是否比使用通常的 fit()
方法具有与生成器产生的相同 batch_size
的优势。我见过一些类似的例子:
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()
方法并定义 32 的 batch_size
,这对 ( GPU?)-内存?
是的,当您需要增强数据以获得更好的模型准确性时,差异实际上就出现了。
为了提高效率,它允许使用 CPU 对图像进行实时数据增强。这意味着它可以使用 GPU 进行模型训练和更新,同时将增强图像的负载委托给 CPU 并提供要训练的批次。