我现在在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存储库中被标记为bug。

最佳答案

如本issue所述,这不是内存泄漏,因为在矩阵上计算奇异值分解(250*250*3),即187000个元素是内存密集型元素。不幸的是,到目前为止,还没有立即解决这个问题,因为问题在于所提到的西格玛矩阵的计算。

关于python - Keras ImageDataGenerator Fit导致内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52137047/

10-09 06:48