赞
踩
出错描述:在训练模型python train.py 的时候,出现 RuntimeErrorCUDA error out of memory 错误
出错原因:字面意思,out of memory
在服务器上输入 :
nvidia-smi
查看GPU的使用情况:
可以看到第0个GPU 使用占了,可以用空闲的第1GPU来跑你的程序,修改CUDA_VISIBLE_DEVICES 的值,默认是 0
import os
os.environ["CUDA_VISIBLE_DEVICES"] = '1'
在报错的代码中加上异常捕捉的代码,清除空的缓存
try:
trainer.train(30)
except RuntimeError as exception:
if "out of memory" in str(exception):
print("WARNING: out of memory")
if hasattr(torch.cuda, 'empty_cache'):
torch.cuda.empty_cache()
else:
raise exception
对于tensor的计算操作,默认是要进行计算图的构建的,我们可以使用 with torch.no_grad():
让其不进行计算图构建,这样可以缓解GPU计算压力
with torch.no_grad():
trainer.train(30)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。