Я запускаю простую задачу классификации с небольшим набором данных на tf2 с двумя различными способами загрузки данных.
Первым способом я загружал данные, читая изображения и загружая их в (train_x , train_y) и (test_w, test_y). Обучение было довольно быстрым и хорошим.
Затем я хотел попробовать использовать DataGenerator как таковой
training_datagen = ImageDataGenerator(
rescale = 1./255,
rotation_range=15,
fill_mode='nearest')
validation_datagen = ImageDataGenerator(rescale = 1./255)
train_generator = training_datagen.flow_from_directory(
TRAINING_DIR,
target_size=(224,224),
class_mode='categorical'
)
validation_generator = validation_datagen.flow_from_directory(
VALIDATION_DIR,
target_size=(224,224),
class_mode='categorical'
)
, а затем запустить обучение с командой
H = model.fit(
train_generator,
batch_size=2,
validation_data= validation_generator,
verbose = 1,
epochs=EPOCHS)
тогда обучение становится чрезвычайно медленным. Одна эпоха длится несколько минут, тогда как в предыдущем случае вся тренировка составляла менее 15 секунд.
Я не понял, в чем проблема. Кажется, эта проблема разделяется несколькими разработчиками, но не ясно, почему обучение становится таким медленным при использовании генератора данных.
Спасибо