[問題] 關於影像處理使用cov "out of memory"
這個問題困擾了我快三個禮拜...應該更久...
不知道為甚麼都會out of memory 也上網查過解法但都沒甚麼解法...
學校實驗室電腦是32-bit的 記憶體2GB 目前只剩虛擬記憶體擴充那招沒用過
不過目前一直找不到Boot.ini 而且老師也認為不會這麼麻煩才是
實驗室學長建議從程式碼下手,目前就將前面步驟用了save/load法
不過進行covariance的步驟還是出現這狀況...
想不到辦法只好來這邊尋求答案...
以下先上程式碼:
load 'martix_X' %X為一輸入影像群之大矩陣,其大小為76800xN N為輸入影像張數
a = transpose(X);
cov_x = cov(single(a)); or cov_x = cov(double(a));
得到結果都是out of memory...
不填double/single則error bsxfun
現在卡在這段後面要再做eigen根本不能往下做...
跪求版上前輩指導了@@"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.127.186.7
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1432996306.A.C81.html
→
05/31 01:16, , 1F
05/31 01:16, 1F
→
05/31 09:13, , 2F
05/31 09:13, 2F
→
05/31 09:13, , 3F
05/31 09:13, 3F
→
05/31 11:22, , 4F
05/31 11:22, 4F
→
05/31 11:22, , 5F
05/31 11:22, 5F
→
05/31 11:24, , 6F
05/31 11:24, 6F
→
05/31 11:24, , 7F
05/31 11:24, 7F
想問一下怎麼用迴圈算上三角部分@@?
Name Size Bytes Class Attributes
X 76800x5 384000 uint8
a 5x76800 384000 uint8
用whos得到的數據如上,memory得到的數據如下
Maximum possible array: 688 MB (7.214e+08 bytes) *
Memory available for all arrays: 1248 MB (1.308e+09 bytes) **
Memory used by MATLAB: 496 MB (5.201e+08 bytes)
Physical Memory (RAM): 2043 MB (2.143e+09 bytes)
另外如果算上三角部分之後求得eigenvalue的部分會受影響嗎?
因為現再要用cov去求得eig...
麻煩前輩們指點了@@"
※ 編輯: ossianlin (140.133.62.180), 05/31/2015 14:02:49
→
05/31 14:39, , 8F
05/31 14:39, 8F
→
05/31 14:39, , 9F
05/31 14:39, 9F
→
05/31 14:41, , 10F
05/31 14:41, 10F
還是一樣out of memory @@"
不過如果取消用trancepose就可以covariance了...
這邊有點忘記為什麼老師當初要我做trancepose了
依稀印象是老師說直接cov出來的答案好像是錯誤的...
想請教一下covariance真正用意為何...?
本身數學不是很好 想了解其原理何在?
※ 編輯: ossianlin (140.133.62.180), 05/31/2015 15:24:54
→
05/31 15:27, , 11F
05/31 15:27, 11F
→
05/31 15:27, , 12F
05/31 15:27, 12F
→
05/31 15:28, , 13F
05/31 15:28, 13F
→
05/31 15:29, , 14F
05/31 15:29, 14F
→
05/31 15:30, , 15F
05/31 15:30, 15F
→
05/31 15:32, , 16F
05/31 15:32, 16F
→
05/31 15:38, , 17F
05/31 15:38, 17F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章