日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
报错:ResourceExhaustedError OOM when allocating
分析:
情况一:因为GPU内存不够用,训练的参数量/训练的数据过于巨大。
情况二:同样因为GPU内存不够用,即使模型此时输入的数据只有一张图片,但因为模型需要一开始就申请大于GPU的显存大小,依然会报错ResourceExhaustedError OOM
解决一:针对情况一可以把batch_size设置得小一点
解决二:
指定CPU执行的方式一
"""
0表示指定第一块GPU,1表示指定第二块GPU,以此类推。
如果只有一块GPU,却指定数字1,并不是0的话,那么会变成使用CPU运行。
"""
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
指定CPU执行的方式二
"""
下面配置 指定让CPU运行
"""
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"