Я тренирую модель CNN с двоичной сигмоидальной классификацией в пакетах ImageDataGenerator с помощью fit_generator () в Google Colab с использованием Tensorflow Keras. По какой-то причине модель, кажется, тренируется до 1 шага до завершения, затем она тренируется снова. Это происходит в каждую эпоху.
https://i.stack.imgur.com/nGBBs.png
В чем может быть причина? Это напрасная трата времени? Должно ли это быть исправлено?
Спасибо
Редактировать: модель является последовательной.
Генератор обучающих данных:
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(
rescale = 1./255,
rotation_range = 40,
width_shift_range = 0.2,
height_shift_range = 0.2,
shear_range = 0.1,
zoom_range = 0.2,
fill_mode = 'nearest',
horizontal_flip = True,
vertical_flip = True,
validation_split=0.2
)
data_dir = '/tmp/sorted_images'
train_gen = train_datagen.flow_from_directory(
data_dir,
batch_size=128,
target_size = (96,96),
color_mode="grayscale",
class_mode = 'binary',
shuffle=True,
subset='training'
)
Генератор проверочных данных:
from keras_preprocessing.image import ImageDataGenerator
valid_datagen = ImageDataGenerator(
rescale = 1./255,
validation_split=0.2
)
valid_gen = valid_datagen.flow_from_directory(
data_dir,
batch_size=128,
target_size = (96,96),
color_mode="grayscale",
class_mode = 'binary',
shuffle=True,
subset='validation'
)
model.compile(loss='binary_crossentropy', optimizer=adam, metrics=['accuracy', tf.keras.metrics.TruePositives(name='truepos'), tf.keras.metrics.FalseNegatives(name='falseneg'), tf.keras.metrics.FalsePositives(name='falsepos'), tf.keras.metrics.TrueNegatives(name='trueneg')])
history = model.fit_generator(train_gen, epochs=15, verbose = 1, callbacks=cb_list, validation_data = valid_gen, validation_freq = 5)