Python: lil_matrix против csr_matrix в чрезвычайно больших разреженных матрицахPython

Программы на Python
Anonymous
Python: lil_matrix против csr_matrix в чрезвычайно больших разреженных матрицах

Сообщение Anonymous »

Я хочу постепенно построить очень большую разреженную матрицу. Проблема в том, что lil_matrix занимает так много оперативной памяти, что становится неэффективным. Например, если я захочу создать lil_matrix размером 20 миллионов x 20 миллионов, это полностью уничтожит мою оперативную память. С другой стороны, csr_matrix почти не занимает места. Однако csr_matrix якобы неэффективен для модификаций. Есть ли другой способ воспользоваться преимуществами lil_matrix, не занимая при этом много места в оперативной памяти? Кроме того, почему она вообще занимает так много места, если она должна быть разреженной матрицей?

Примечание: На самом деле настоящая проблема заключается не в создании такой большой матрицы, а в создании следующего списка:

Код: Выделить всё

list = [sp.lil_matrix((150,150)) for i in range(1000)]
что также увеличивает мою оперативную память.

Подробнее здесь: https://stackoverflow.com/questions/327 ... e-matrices

Вернуться в «Python»