解决问题:RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB

网络上常用的三种方法

方法一:

仅需减小batchsize

 改文件的配置cfg的batchsize=1,一般在cfg文件下的查找batch或batchsize,将batchsize调小后,再次运行,类似于改下面

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAamF2YWhhb2dl,size_20,color_FFFFFF,t_70,g_se,x_16

 

方法二 : 

上述方法还没解决,不改batchsize,可以考虑下面的方法的链接

 

不计算梯度:

 

ps: 在报错的哪一行代码的上面,加上下面一行代码,不计算梯度

 

with torch.no_grad()

 

不计算梯度的方法

 

方法三:

释放内存:链接如下

 

释放内存

 

if hasattr(torch.cuda, 'empty_cache'):

 torch.cuda.empty_cache()

ps: 在报错的那一行代码的上面,加上下面两行代码,释放无关的内存

 

if hasattr(torch.cuda, 'empty_cache'):

 torch.cuda.empty_cache()

方法四:我的解决方案

     我没用上面的方法,最主要是我是新手不知道在哪改,所以在看了好多网上的解决方案后,试了一下这种方法,可以训练了,成功解决GPU内存不足的问题

解决方法:将img-size调小

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAamF2YWhhb2dl,size_20,color_FFFFFF,t_70,g_se,x_16

 我把原本的[640,640]改为上图所示,成功解决问题

你可能感兴趣的:(深度学习,python)