MATLAB错误:超出了设备上允许的最大变量大小

MATLAB错误:超出了设备上允许的最大变量大小,matlab,Matlab,我试图训练一个CNN模型,使用3个班级,每个班级大约500张图片。图像的大小为[965*995*1]。当我运行代码时,我得到一个错误,说“超过了设备上允许的最大变量大小。” 模型出现错误“设备内存不足。若要查看有关GPU上可用内存的更多详细信息,请使用“gpuDevice()”。如果问题仍然存在,请在将图像大小调整为[128*128]时调用“gpuDevice(1)”重置GPU 当我将图像大小调整为[64*64]时,它运行正常 我怎样才能绕过这个问题 注意:系统有16GB的RAM。首先,您可能受

我试图训练一个CNN模型,使用3个班级,每个班级大约500张图片。图像的大小为[965*995*1]。当我运行代码时,我得到一个错误,说“超过了设备上允许的最大变量大小。”

模型出现错误“设备内存不足。若要查看有关GPU上可用内存的更多详细信息,请使用“gpuDevice()”。如果问题仍然存在,请在将图像大小调整为[128*128]时调用“gpuDevice(1)”重置GPU

当我将图像大小调整为[64*64]时,它运行正常

我怎样才能绕过这个问题


注意:系统有16GB的RAM。

首先,您可能受到GPU而不是CPU的RAM大小的限制

因此,如果需要处理大型图像,请将ConvNet设置为在CPU而不是GPU上运行

通常,在最新的MATLAB版本中,MathWorks添加了一个选项,将变量大小限制定义为RAM的函数。
您可以通过以下方式访问它:

首选项->工作区

您将看到以下内容:

您可以选择根据RAM限制变量的大小。
在您的情况下,将其设置为100%意味着最大(CPU)变量为16GB。
如果取消选中限制,MATLAB将使用页面文件来处理较大的变量。
但不建议这样做,因为您将受到硬盘速度的限制


您可以在上阅读更多信息。

阵列大小限制已为100%。在CPU上而不是GPU上运行训练网络只能在Matlab2017a中实现,对吗?或者你知道其他的方法吗?缩放是相对于你计算机中的RAM(如你所指出的16 GB)。然而,对于GPU阵列,您仅限于GPU的RAM(您没有指定使用哪一个)。我想上面的屏幕回到R2015a。你有4个选择:1。在CPU上工作并消除限制(我认为这是个错误的选择)。2.在CPU上工作并限制网络参数以匹配内存限制。3.在GPU上工作并将网络限制到GPU内存。4.升级硬件以满足您的网络需求。