【发布时间】:2019-10-01 23:24:27
【问题描述】:
我正在使用带有 tensorflow 后端的 Keras。我需要从目录中提取一堆图像,包括输入和输出,并使用它们来拟合模型。我正在使用 Keras 库中的 ImageDataGenerator.flow_from_directory() 函数创建两个生成器,一个用于提取输入文件,一个用于提取输出文件。
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')
这会导致打印“压缩生成器”,但从未“完成压缩生成器”
【问题讨论】:
-
你使用的是 Python 2.X 吗?
-
@SergeiLebedev 是的,我发布了这个问题是因为这个问题困扰了我几个小时,我想为其他陷入困境的人解释一下。我不确定是否有更简单的方法来回答我自己的问题,如果我搞砸了,很抱歉。不过谢谢!
标签: python-3.x python-2.7 tensorflow keras generator