1

我需要在 matlab 中实现一个堆叠去噪自动编码器,用于乳房 X 线照片的特征提取。我现在正在测试深度学习工具箱已经提供的代码,但是它给出了一些错误,我不知道如何修复它们。你会碰巧知道任何关于如何使用工具箱的教程吗?我在网上搜索过,但没有发现任何有用的东西。如果有人有解决方案,我遇到的错误是:

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);

非常感谢!:)

4

1 回答 1

2

首先,Matlab 很容易出现“内存不足”的情况,以防它总是需要大块连续内存来存储任何类型的矩阵或向量。运行matlab代码相当于拆分内存。因此我建议你要小心,你应该从一些小数据集开始,首先你应该让它工作。

其次,这里有一些技巧可以解决Out of Memory可能有用的问题。尽管如此,我不得不说,根据我之前的尝试来解决它可能没有那么有用。如果您使用的是 32 位机器,那么您可以访问的内存是有限的,2^32 = 4GB并且在凭经验运行一些深度学习任务时很容易达到这一点。

最后,我建议您首先开始使用小型数据集(例如 MNIST)使其工作,之后您应该保证您的 matlab 在 64 位机器上运行(您可以访问的某些服务器可能是最佳的)。如果你仍然遇到这个痛苦的问题,我建议你尝试一些其他基于 GPU 或并行计算方案的 DeepLearning 开箱即用工具。您应该知道深度学习通常基于高性能计算框架。不要试图用你的笔记本电脑来运行它:))

使用大数据集时,Matlab 并没有那么强大......

于 2014-10-30T17:29:59.293 回答