Есть ли способ уменьшить использование оперативной памяти путем уменьшения выборки большого массива? - PullRequest
3 голосов
/ 21 мая 2019

У меня довольно большая матрица формы (80000, 4), она содержит много данных, большинство из которых мне не нужны.

Часть моего процесса включает вычисление матрицы парных расстоянийи этот процесс равен O (n ^ 2) для количества строк, поэтому я могу значительно сократить время обработки путем понижающей дискретизации

Я попытался использовать метод numpy.linspace, например, так:

downsample_factor = np.linspace(0, large_matrix.shape[0]-1, 20000, dtype=int)
large_matrix = large_matrix[downsample_factor, :]

В этом примере large_matrix имеет форму (80000,4), и я уменьшаю его до (20000,4)

Этот код успешно уменьшает размер large_matrix, но не '• фактически освобождает память.

Есть ли другой способ освободить ОЗУ путем сокращения выборки большого массива?

РЕДАКТИРОВАТЬ:

Программа получает Killed сообщений при запускене хватает оперативной памятиЯ заметил, что большие массивы получали сообщения Killed даже после понижающей выборки, тогда как небольшие массивы с самого начала не убивались.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...