Keras ImageDataGenerator Fit导致内存泄漏

时间:2018-09-02 12:31:20

标签: python tensorflow keras

我使用的是Keras 2.2.2,我正在尝试使用zca_whiteningImageDataGenerator生成训练数据的扩充。但是,当我尝试安装生成器时(使用zca_whitening时必须使用),python进程会消耗越来越多的内存(100Gb +),直到被系统杀死为止。

这个小例子可能导致泄漏:

import numpy as np
from keras.preprocessing.image import ImageDataGenerator

def cause_leak():
    idg = ImageDataGenerator(zca_whitening = True)
    random_sample = np.random.random((1, 250, 250, 3))
    idg.fit(random_sample)

cause_leak()

更新:昨天,这被标记为Keras存储库中的错误。

1 个答案:

答案 0 :(得分:1)

如本issue中所述,这并不是内存泄漏,因为在具有(250 * 250 * 3)即187000个元素的矩阵上计算奇异值分解会占用大量内存。不幸的是,由于here

的sigma矩阵的计算存在问题,因此目前尚未立即解决。