Tensorflow 2.0 ImageAugmentation с использованием tf.keras.preprocessing.image.ImageDataGenerator и tf.datasets: model.fit () работает бесконечно - PullRequest
0 голосов
/ 07 мая 2020

Я столкнулся с проблемой при запуске функции fit () в TensorFlow с расширенными изображениями (с использованием ImageDataGenerator), переданными как набор данных. Функция fit () работает бесконечно без остановки.

Я пробовал это с кодом по умолчанию, который был опубликован в документации Tensorflow . Найдите фрагмент кода ниже:

train_data_generator = ImageDataGenerator(
    rotation_range=20,
    shear_range=0.5, 
    zoom_range=0.4, 
    rescale=1./255,
    vertical_flip=True, 
    validation_split=0.2,
    width_shift_range=0.2,
    height_shift_range=0.2,
    horizontal_flip=True) 

test_data_generator = ImageDataGenerator(rescale=1./255)

ftrain_generator = train_data_generator.flow(
        X_train,
        y_train,
        batch_size=batch_size, 
        shuffle=True)

ftrain_generator_ds = tf.data.Dataset.from_generator(lambda : ftrain_generator, 
    output_types=(tf.float32, tf.float32),
    output_shapes = ([batch_size, img_rows, img_cols, num_channel],[batch_size, num_classes]))
ftest_generator = test_data_generator.flow(
        X_test,
        y_test,
        batch_size=batch_size, 
        shuffle=False)

ftest_generator_ds = tf.data.Dataset.from_generator(lambda : ftest_generator, 
    output_types=(tf.float32, tf.float32),
    output_shapes = ([batch_size, img_rows, img_cols, num_channel],[batch_size, num_classes]))

ftrain_generator_ds = ftrain_generator_ds.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
ftest_generator_ds = ftest_generator_ds.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)

model2.fit(ftrain_generator, epochs = num_epoch, validation_data=ftest_generator)
...