Как нормализовать большой массив numpy? - MemoryError - PullRequest
0 голосов
/ 11 января 2020

У меня есть массив формы: (40000, 240, 320)
Это массив изображений, и я хочу нормализовать значение каждого пикселя следующим образом:

X = X/255

Когда я пытаюсь запустить Приведенное выше выражение выдает следующую ошибку:

MemoryError: невозможно выделить массив с формой (40000, 240, 320) и типом данных float64

Как работать с большими numpy массив в таких случаях?

1 Ответ

3 голосов
/ 11 января 2020

Вы можете использовать расширенное назначение с делением (/=), которое изменит X на месте:

X /= 255

Ваш текущий код пытается выделить временный объект:

X = X/255

# Is actually executed like:
tmp = X / 255  # new object!
X = tmp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...