在MATLAB上执行CNN时内存不足

时间:2019-01-29 17:29:08

标签: matlab deep-learning conv-neural-network

我对机器学习还很陌生,因此我试图从尝试识别歌曲的关键问题入手来教自己。 MATLAB提供了有关如何将CNN与“手写数字”数据集一起使用的教程,因此我逐行进行了研究,使整个工作都可以在Surface Pro 4上进行(使用MATLAB中提供的图形化培训进度显示)。

使示例生效后,我花了大约10个小时来创建和预处理项目的数据集。我选择灰度频谱图作为输入的首选,经过处理后它们的大小约为700 x800。然后,对于机器学习来说,我发现我会从数字示例中采用几乎完全相同的Layer算法并将其应用到我创建的数据。

但是,当我尝试运行该程序时,出现了我的问题。当我单击“运行”时,程序将无错误运行,但是一旦打开培训窗口,MATLAB会窃取我计算机的所有资源,但是即使运行约一个小时也不会显示任何进度。我试图在各处寻找有关此问题的信息,但似乎找不到任何检查问题的方法,因为发生这种情况时不会产生任何错误。

如果有人遇到过类似的情况,或者比我对CNN更有经验,并且可以让我对测试模型所需采取的步骤有所了解,将不胜感激! / p>

1 个答案:

答案 0 :(得分:0)

除了Biguri的评论:  1.我认识的所有进行深度学习的人都使用GPU,否则速度会很差,而且培训时间可能长达数天甚至数周。  2.无论使用哪种GPU,都应该打开一个系统监视器,以便     查看使用了多少RAM。全部用完后,Windows可能会使用     虚拟内存(在Linux上交换),这会增加时间     指数。因此,系统监视器会告诉您RAM是否是问题所在。  3.减少花费的时间:如果使用批处理,则N个实例较小     每批可以解决。如果没有,网络越浅可能更好。     但是我将从对图像进行下采样开始。你的似乎很多     比普通尺寸大。