【发布时间】:2017-02-22 18:59:25
【问题描述】:
我正在尝试构建一个模型,它的输入和输出(掩码)都有图像。 由于数据集的大小和我有限的内存,我尝试使用the Generator Approach introduced in the Keras Documentation:
# Provide the same seed and keyword arguments to the fit and flow methods
seed = 1
image_generator = image_datagen.flow_from_directory(
'data/images',
class_mode=None,
seed=seed)
mask_generator = mask_datagen.flow_from_directory(
'data/masks',
class_mode=None,
seed=seed)
# combine generators into one which yields image and masks
train_generator = zip(image_generator, mask_generator)
model.fit_generator(
train_generator,
samples_per_epoch=2000,
nb_epoch=50)
似乎一切正常,除非代码到达这一行:
train_generator = zip(image_generator, mask_generator)
似乎压缩这两个列表的过程显式地使它们生成了它们的内容,并且系统开始消耗大量的 RAM,直到它耗尽内存。
使用生成器的目的是避免在这段代码完全相反的情况下耗尽内存。
有没有办法解决这个问题?
【问题讨论】:
-
您能否分享您的完整解决方案,包括
itertools.izip()?
标签: python machine-learning computer-vision theano keras