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