В моя код в момента повтарям и създавам три списъка:
data, row, col
Има голямо повторение на (row, col)
двойки и в моята крайна разредена матрица M
бих искал стойността на M[row, col]
да бъде сумата от всички съответни елементи в data
. От прочита на документацията coo_matrix
форматът изглежда идеален и за малки примери работи добре.
Проблемът, който имам, е, че когато увелича размера на проблема си, изглежда, че междинните списъци data, row, col
използват цялата ми (8 gb) памет и пространството за суап и моят скрипт автоматично се унищожава.
Та въпросът ми е:
Има ли подходящ формат или ефективен начин за постепенно изграждане на моята сумирана матрица, така че да не се налага да съхранявам пълните междинни списъци/numpy масиви?
Моята програма преминава през решетка, създавайки local_data, local_row, local_col
списъци във всяка точка, чиито елементи след това се добавят към data, row, col
, така че възможността за актуализиране на разредената матрица със списъци според конструкторите на разредени матрици би била идеалният случай.