Я пытаюсь понять, как генератор данных в Керасе используется во время обучения.Если есть настройки, такие как
datagen = ImageDataGenerator()
datagen.fit(x_train)
model.fit_generator(datagen.flow(x_train, x_test, batch_size=32),
steps_per_epoch=100,
epochs=20)
Как я могу понять, сколько данных «генерируется» и когда?У меня возникают проблемы с пониманием, как batch_size
и steps_per_epoch
связаны.
Является ли приведенный выше эквивалент что-то вроде
for epoch 1 to 20:
for each img in x_train:
generate 100 morphed images based on img
put these into batches of size 32
fit each batch
В качестве альтернативы, возможно, это работает так:
for epoch 1 to 20:
for each img in x_train:
generate 100 morphed images based on img
put all of the 100*x_train.shape[0] images into batches of size 32
fit each batch
Так как же это работает?Есть ли способ исследовать / отладить это?