Keras ImageDataGenerator Fit导致内存泄漏

wot*_*pal 16 python keras tensorflow

我在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()
Run Code Online (Sandbox Code Playgroud)

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

小智 1

正如本期所讨论的,这不是内存泄漏,因为在具有 (250 * 250 * 3)(即 187000 个元素)的矩阵上计算奇异值分解是内存密集型的。不幸的是,目前还没有立即解决这个问题的方法,因为问题在于 sigma 矩阵的计算,如此处所述