Keras ImageDataGenerator Fit вызывает утечку памяти

Я на Keras 2.2.2, и я пытаюсь генерировать дополнения моих данных обучения с помощью zca_whitening и ImageDataGenerator. Но когда я пытаюсь установить генератор (что является обязательным при использовании zca_whitening), процесс python zca_whitening все больше памяти (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

Как обсуждалось в этом выпуске, это не утечка памяти, поскольку вычисление разложения сингулярных значений на матрице с (250 * 250 * 3), то есть 187000 элементов, требует большого объема памяти. К сожалению, на данный момент нет немедленного решения этой проблемы, поскольку проблема заключается в вычислении сигма-матрицы, как упомянуто здесь here