Я использую Keras с бэкэндом тензорного потока. Мне нужно извлечь из каталога кучу изображений, как входных, так и выходных, и использовать их для соответствия модели. Я использую функцию ImageDataGenerator.flow_from_directory () из библиотеки Keras для создания двух генераторов, один для извлечения входных файлов и один для извлечения выходных файлов.
Функция Keras model.fit_generator () принимает только один генератор, поэтому я использовал zip (generator_1, generator_2), чтобы объединить его в один генератор. Однако это привело к тому, что моя программа зависла и никогда не заканчивала работу.
def fit_model(self, batch_size, epochs, initial_epoch, callbacks):
short_generator = self.train_datagen.flow_from_directory('../screenshots/short', class_mode=None, target_size=(self.x_res,self.y_res))
long_generator = self.train_datagen.flow_from_directory('../screenshots/long', class_mode=None, target_size=(self.x_res,self.y_res))
print('zipping generators')
generator = zip(short_generator, long_generator)
print('done zipping generators')
self.model.fit_generator(generator, steps_per_epoch=math.ceil(1190/self.batch_size), epochs=10)
self.model.save('./weights/finished.h5')
Это приводит к тому, что «распаковывающиеся генераторы» распечатываются, но никогда не «распаковываются по генераторам»