Out of memory
今天当我美滋滋地调好批量处理程序点下‘start’处理昨天拍的还可以的细胞并且单独phase都算好的时候,在孔径合成的时候报错了。。。心痛
昨天把角度增加到了49个方便做tomography,然而SA的算法就内存不足了。。确实为了提高分辨率我也不能做降采样,太难了
查了一些其他大佬的处理方法:
1.最靠谱的是提前给大矩阵预留分配空间;
2. 提高虚拟内存,这个木有试,不过我觉得可能不太行
3. 将矩阵转化成稀疏形式
如果矩阵中有大量的0,最好存储成稀疏形式。稀疏形式的矩阵使用内存更少,执行时间更短。这个可以试试用来处理频谱矩阵
4. 大矩阵分割成小矩阵
目前我处理的方法:减少一半的角度,反正SA 的算法其实不需要频谱有重叠,理论上5个角度就够了。。。这个今天或者明天试着算一下
。。。。。
没想到啊,降采样了1/5,tomography还是handle不了
嗯我试了一下在最前面定义大矩阵,是可以的
>> system_dependent memstats
Physical Memory (RAM):
In Use: 21026 MB ( 52223f000)
Free: 3388 MB ( d3cba000)
Total: 24414 MB ( 5f5ef9000)
Page File (Swap space):
In Use: 46440 MB ( b5686b000)
Free: 5693 MB ( 163da3000)
Total: 52134 MB ( cba60e000)
Virtual Memory (Address Space):
In Use: 90003 MB ( 15f9391000)
Free: 134127724 MB (7fea06c4f000)
Total: 134217727 MB (7ffffffe0000)
Largest Contiguous Free Blocks:
1. [at 17c9783000] 134075206 MB (7fdd3467d000)
2. [at 7ff5ffff3000] 36615 MB ( 8f07cd000)
3. [at bebe90000] 3393 MB ( d41d0000)
4. [at 7fff67be1000] 2436 MB ( 9840efff)
5. [at 6a2b37000] 1933 MB ( 78dd9000)
6. [at a85d01000] 1909 MB ( 775ef000)
7. [at 364200000] 960 MB ( 3c000000)
8. [at 75b910000] 838 MB ( 346f0000)
9. [at 727910000] 768 MB ( 30000000)
10. [at 4e2b87000] 590 MB ( 24e59000)
======= ==========
134124653 MB (7fe946d39fff)
ans =