Аугментация на лету с генерацией дополнительных изображений (очень маленький датасет)
Имеется маленький датасет для обучения НС (около 100 изображений). Создаю аугментацию изображений
*train_generator = ImageDataGenerator(rescale=1./255,
brightness_range = [0.2, 0.6],
preprocessing_function=add_noise)
train_generator.fit(train_X)*
при попытке обучить НС выдается ошибку "На вашем вводе закончились данные; прерывание обучения. Убедитесь, что ваш набор данных или генератор могут генерировать по крайней мере пакеты "steps_per_epoch * epochs" (в данном случае 900 пакетов). Возможно, вам потребуется использовать функцию repeat() при создании вашего набора данных."
*modelAutocodText.fit(train_generator.flow(x_train, y_train,
batch_size = 16,
shuffle=False),
steps_per_epoch = 9,
epochs = 100,
validation_data = (x_val, y_val),
verbose=1)*
*WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches (in this case, 900 batches). You may need to use the repeat() function when building your dataset.*
Пыталась использовать рекомендованную функцию repeat(). Но, опять ошибки.
*import itertools
modelAutocodText.fit(train_generator.flow(itertools.repeat(x_train,times=900),
itertools.repeat(y_train,times=900),
batch_size = 16,
shuffle=False),
steps_per_epoch = 9,
epochs = 100,
validation_data = (x_val, y_val),
verbose=1)*
*TypeError: object of type 'itertools.repeat' has no len()*
Из тех комментариев, которые я читала ранее, я так и не поняла как это исправить.
Нужно из размерности x_train (120, 240, 520, 1) сделать (900, 240, 520, 1) для подачи в нейронную сеть на обучение