2014-09-13 36 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是不使用大数据集时强大...