Для функций scipy csr_matrix и csc_matrix, а также, в частности, форм, которые принимают индексы строк и столбцов:
csr_matrix((data, (row_ind, col_ind)), [shape=(M, N)])
csc_matrix((data, (row_ind, col_ind)), [shape=(M, N)])
Какой объем промежуточной памяти они используют? Предположительно, им приходится использовать некоторые из них для преобразования в представления CSR/CSC.
Контекст таков, что вызов этих функций в конкретном случае использует много памяти, вплоть до такой степени, что не удалось, потому что ему не хватает памяти, поэтому я пытаюсь рассуждать об этом. Всего data + row_ind + col_ind в моем конкретном примере занимает 25 ГБ, и у меня остается около 35 ГБ памяти, но этого недостаточно для вызова csr_matrix или csc_matrix.
Документация по адресу https://docs.scipy.org/doc/scipy/refere ... atrix.html и https://docs.scipy.org/doc/scipy/refere ... csc_matrix. html, кажется, не дает информации по этому поводу.
Вот, я надеюсь, примерно эквивалентный фрагмент кода, которому не хватает памяти в моей системе с 60 ГБ (Linux).
import numpy as np
from scipy.sparse import csc_matrix
num_values = 2500000000
output_matrix_size = 150000
matrix = csc_matrix(
(
np.zeros(num_values, dtype=np.float16),
(
np.zeros(num_values, dtype=np.int32),
np.zeros(num_values, dtype=np.int32),
),
),
shape=(output_matrix_size, output_matrix_size),
)
Подробнее здесь: https://stackoverflow.com/questions/791 ... termediate
Функции crc_matrix и csc_matrix SciPy с разреженной матрицей – сколько промежуточной памяти они используют? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение