内存泄漏使用flow_from_directory

时间:2017-08-07 10:40:38

标签: memory-leaks keras-2

我正在尝试实施文档页面中描述的技术

https://keras.io/preprocessing/image/

标题下的#34;将图像和蒙版一起转换的示例"。

以下之后,

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)

这会导致内存使用率上升到最大值, 然后交换也上升到最大值,此时我的 系统冻结并需要重新启动。

有没有人知道这里发生了什么?

1 个答案:

答案 0 :(得分:0)

解决方案:问题是我使用的是Python 2,而在Python 2中,这些迭代器上的zip命令将永远迭代。任何数量的内存很快就会耗尽。使用Python 3,这不是问题。

如果您使用的是Python 2,解决方案是使用itertools.izip而不是zip。