看板 MATLAB 關於我們 聯絡資訊
這個問題困擾了我快三個禮拜...應該更久... 不知道為甚麼都會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
jatj: 打whos就可以看變數佔的大小 可以估算哪個佔太多空間 05/31 01:16
celestialgod: 用迴圈算covariance上三角部分,用cov可能用到太多 05/31 09:13
celestialgod: 記憶體 05/31 09:13
celestialgod: 2G的電腦,系統大概用掉一半,matlab最多只有1G可以 05/31 11:22
celestialgod: 使用,矩陣一大,真的很容易記憶體不足 05/31 11:22
celestialgod: error bsxfun應該是因為取完平均要跟原矩陣做相減 05/31 11:24
celestialgod: 時,發現原矩陣不是double.... 才出問題。 05/31 11:24
想問一下怎麼用迴圈算上三角部分@@? 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
celestialgod: 沒注意到你還有另立一個transpose... 05/31 14:39
celestialgod: 這個是主要原因 05/31 14:39
celestialgod: 直接cov(double(X'))試試看 05/31 14:41
還是一樣out of memory @@" 不過如果取消用trancepose就可以covariance了... 這邊有點忘記為什麼老師當初要我做trancepose了 依稀印象是老師說直接cov出來的答案好像是錯誤的... 想請教一下covariance真正用意為何...? 本身數學不是很好 想了解其原理何在? ※ 編輯: ossianlin (140.133.62.180), 05/31/2015 15:24:54
celestialgod: 轉置前的COV是5X5...轉置後是76000 X 76000 05/31 15:27
celestialgod: 記憶體會不夠是因為要存76000 x 76000的矩陣 05/31 15:27
celestialgod: Requested 76000x76000 (43.0GB) array 05/31 15:28
celestialgod: 只是我很好奇,這樣的變異數矩陣是有問題的... 05/31 15:29
celestialgod: 只有五列...你要估計 76000*38000個參數qq 05/31 15:30
celestialgod: 76001*38000 (更正) 05/31 15:32
celestialgod: 至於cov的用意,我也不清楚你們的目的無從解釋 05/31 15:38