Аугментация на лету с генерацией дополнительных изображений (очень маленький датасет)

Имеется маленький датасет для обучения НС (около 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) для подачи в нейронную сеть на обучение


Ответы (0 шт):