Я хочу постепенно построить очень большую разреженную матрицу. Проблема в том, что 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