0

我正在尝试实现文档页面上描述的技术

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

在“将图像和蒙版一起转换的示例”标题下。

以下之后,

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)

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

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

4

1 回答 1

0

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

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

于 2017-08-07T14:56:18.197 回答