GPU在设备上没有内存。

232次查看(最近30天)
凯撒
凯撒 2018年3月16日
编辑: Khalid Labib.于2020年5月13日
我正在使用神经网络工具箱进行深度学习,并且当我进行分类时,我有这个时间的艰巨问题。我的DNN模型已经训练,我在分类期间继续收到相同的错误,尽管我使用了具有NVIDIA GeForce 1080的HPC(群集),以及我的机器,具有GeForce 1080Ti。错误是:
使用nnet.internal.cnngpu.convolveforward2d在设备上脱离内存时出错。要在GPU上查看有关可用内存的详细信息,请使用“GPudevice()”。如果问题仍然存在,请通过调用'gpudevice(1)'重置GPU。
在net.internal.cnn.layer.util. convolution2dgpustrategy /forward中出现错误(第14行)
nnet.internal.cnn.layer.convolution2d / doforward(第332行)中出错
在net.internal.cnn.layer. convolution2d /forwardNormal错误(第278行)
Error in net.internal.cnn.layer. convolution2d /predict(第124行)
在net.internal.cnn. dagnetwork /forwardPropagationWithPredict错误(第236行)
Error in net.internal.cnn. dagnetwork /predict(第317行)
Dagnetwork /预测中的错误(第426行)
Dagnetwork / Classify中的错误(第490行)
guisti_test_script中的错误(第56行)
并行:gpu:数组:伯父
有没有人面对同样的问题?
PS:我的测试数据包含15000个图像。

接受的答案

神骑士
神骑士 2018年3月17日
减少 'minibatchsize' 选项 分类
2评论

登录评论。

更多的答案(3)

Khalid Labib.
Khalid Labib. 2020年2月19日
编辑:Khalid Labib. 于2020年5月13日
在“利用深度学习实现单图像超分辨率”MatLab演示中:
我尝试清除我的GPU内存(GPudevice(1))在每次迭代后,并在“超级大量媒体”辅助功能中更改为1,如下行所示,但它们没有工作(错误:GPU退出内存):
residualImage =activation(净额,Iy, 41,'minibatchsize'1);
1)要解决这个问题,你可以使用CPU:
residualImage =activation(净额,Iy, 41,'executionenvironment''中央处理器');
我认为这个问题是由于测试图片的分辨率太高造成的,例如第二张图片“car2.jpg”,分辨率是3504 x 2336。
2)更好的解决方案是使用GPU处理低分辨率图像,CPU处理高分辨率图像,将“residualImage =activation (net, Iy, 41)”替换为:
sx =大小(I);
如果SX(1)> 1000 ||SX(2)> 1000%如果它不起作用,则尝试较低的值:如果sx(1)> 500 ||SX(2)> 500
residualImage =activation(净额,Iy, 41,'executionenvironment''中央处理器');
其他的
残差图像=激活(net, Iy, 41);
结尾
3)最有效的解决方案是将图像分割成更小的图像(不重叠的块或瓷砖),这样每个小图像的大小为1024或更小的尺寸,基于你的GPU。所以,你可以对这些小图像使用GPU而不会出错。
然后,使用GPU将你的CNN应用到这些小图像上。之后,可以将小图像组合成原始图像的大小。
1条评论
瑞马
瑞马 2020年4月22日
谢谢!有用!虽然有点慢

登录评论。


玛丽骑士
玛丽骑士 2019年6月4日
编辑:玛丽骑士 2019年6月4日
你好,
我在这里有一个类似的问题,而Joss给出的链接并不能真正帮助我理解如何解决它。
我正在做“单图像超分辨率使用深度学习”的MatLab演示。
我想在我自己的图像上使用预先训练的网络。
我得到一个类似的错误消息时,到达行:
Iresidual =激活(NET,IY_BICUBIC,41);
我尝试使用命令行gpudevice(1),它没有任何操作。
我还尝试将Minibatchsize更改为32而不是默认128并获得相同的错误。
有人知道如何解决这个问题吗?
3评论
阿卡什Tadwai
阿卡什Tadwai 2019年12月17日
@joss骑士,它仍然不起作用。我正在培训Alex Net,迷你批量大小为1,但仍然Matlab呈现相同的错误。
AlexNet.

登录评论。


Alvaro Lopez Anaya
Alvaro Lopez Anaya 2019年11月7日
在我的情况下,尽管我有一个GTX1080Ti,我有类似的问题。
正如Joss所说,减少MiniBatchSize解决了我的问题。这都是关于培训的选择。

标签

下载188bet金宝搏

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!