训练深度学习模型时报错**ResourceExhaustedError:** OOM when allocating tensor with shape原因和解决方法分析

训练深度学习模型时报错 ResourceExhaustedError: OOM when allocating tensor with shape原因和解决方法分析

一、报错内容

报错内容如下图所示:

训练深度学习模型时报错**ResourceExhaustedError:** OOM when allocating tensor with shape原因和解决方法分析

; 二、原因分析

核心原因:GPU显存不足。

表面原因:

  1. Batchsize太大;
  2. 图片尺寸太大;
  3. 池化层池化效果不佳;
  4. 等等。

二、解决方法

核心方法:使用一切手段减少模型内存占用或扩大显卡内存或采用其他内存。 开源节流相辅相成。

常见方法:

  1. 减小Batchsize;
  2. 分析错误的位置,在哪一层出现显卡不够,比如在全连接层出现的,则降低全连接层的维度,例如把2048改成1024;
  3. 增加池化层;
  4. 修改输入图片的大小;
  5. 如果计算机中包含大于一个GPU,可用以下代码同时调用N个GPU:
import os
os.environ['CUDA_VISIBLE_DEVICES']='0,1,2'
  1. 采用CPU训练,但是速度贼慢,以下代码可调用CPU:
import os
os.environ['CUDA_VISIBLE_DEVICES']='-1'

总结

解决ResourceExhaustedError: 报错
原因是GPU内存不足
解决方法是开源节流,一方面减少图片内存占用,另一方面扩大显卡内存或采用GPU内存。

Original: https://blog.csdn.net/wyf425/article/details/123652518
Author: wyf425
Title: 训练深度学习模型时报错ResourceExhaustedError: OOM when allocating tensor with shape原因和解决方法分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/496616/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球