解决RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB
gpu运行错误
·
今天在运行代码的时候遇到了CUDA内存不够,先说之前是用的batchsize=8,然后这次我用的12,运行的时候就报错了。GPU的利用率一直是0。
然后我想着可能是因为batchsize设置的太大了,我减小到原来的8不就行了,然后最奇怪的事情就发生了,仍然报错。设置4也报错。
File "/home/software/anaconda3/envs/pycharm329/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/Projects/ZQB/a/ESANet-main/src/models/resnet.py", line 81, in forward
out = out + identity
RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB (GPU 0; 10.76 GiB total capacity; 1.82 GiB already allocated; 16.44 MiB free; 1.89 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
看报错原因是因为,GPU总共10GB,1.8GB已经分配,只有16.44MB空闲,然后输入nvidia-smi之后发现processes仍然有在使用,即就算他发生报错,他的内存仍然不能释放出来。所以,我需要手动杀死进程。
kill -9 31272(gpu运行时候的PID)
然后进程才会真正停止,no running process。
之后重新将batchsize设置为8,然后运行就可以了。
更多推荐
已为社区贡献6条内容
所有评论(0)