2014-09-13 56 views
1

我需要在matlab中實現一個堆疊去噪自動編碼器,用於在乳房X線照片上進行特徵提取。我現在正在測試已經由深度學習工具箱提供的代碼,但它提供了一些錯誤,我不知道如何解決它們。你會碰巧知道如何使用工具箱的任何教程?我在網上搜索過,但沒有發現任何有用的東西。如果有人有解決方案,我得到的錯誤是:關於深度學習工具箱matlab的教程

Error using horzcat 
Out of memory. Type HELP MEMORY for your options. 

Error in nnff (line 9) 
x = [ones(m,1) x]; 

Error in nneval (line 7) 
nn     = nnff(nn, train_x, train_y); 

Error in nntrain (line 66) 
    loss = nneval(nn, loss, train_x, train_y); 

Error in saetrain (line 4) 
    sae.ae{i} = nntrain(sae.ae{i}, x, x, opts); 

非常感謝! :)

+0

的錯誤是完全無關的工具箱,也可運行內存根本不足以代碼。開始閱讀這裏http://www.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html – Daniel 2014-09-13 17:40:34

+0

謝謝!其他錯誤呢?他們都是由於RAM不足嗎? – 2014-09-13 17:50:33

+0

還有什麼其他的錯誤?您的問題只包含一個錯誤消息,包括髮生完整錯誤堆棧的位置。 – Daniel 2014-09-13 18:03:21

回答

1

首先,Matlab很容易得到一個「內存不足」的情況下,它總是需要大塊連續內存來存儲任何種類的矩陣或向量。運行matlab代碼相當於分割內存。因此,我建議你小心一點,你應該開始使用一些小數據集,首先你應該得到它的工作。

其次,here是解決Out of Memory可能有用的一些提示。但我必須說,根據我以前的嘗試來解決它可能不是那麼有用。如果您使用的是32位計算機,則您可以訪問的內存僅限於2^32 = 4GB,並且憑藉經驗運行某些深度學習任務時很容易達到此目的。最後,我建議你先使用MNIST這樣的小數據集開始工作,然後你應該保證你的matlab在64位機器上運行(某些服務器可能是最佳的)。如果您仍然遇到這個令人痛苦的問題,我建議您嘗試一些基於GPU或並行計算方案的DeepLearning脫殼工具。您應該知道,深度學習通常基於高性能計算框架。不要試圖用你的筆記本電腦來運行它:))

Matlab是不使用大數據集時強大...