赞
踩
这个问题的出现还是比较常见:torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 50.00 MiB (GPU 0; 23.69 GiB total capacity; 15.74 GiB already allocated; 2.44 MiB free; 15.87 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
这个错误信息表明PyTorch应用程序在尝试分配额外的GPU内存时发生了CUDA内存不足错误。错误消息提供了一些有关当前GPU内存状态的信息,以及一些建议的解决方法。以下是一些可能的原因和解决方法:
内存耗尽原因:
解决办法:
del
关键字或torch.cuda.empty_cache()
来释放内存。max_split_size_mb设置:
内存管理:
torch.cuda.empty_cache()
来显式释放未使用的内存。硬件问题:
总之,解决这个问题通常需要仔细管理你的模型和数据,以确保在GPU上有效地使用内存。根据你的具体情况,你可能需要组合多种解决方法来克服内存不足问题。
我的解决办法是直接把batchsize减半即可解决
CUDA out of memory引发的原因:GPU显存占用率和存入的数据尺寸成正相关,越大的数据占用显存越多,这其实是废话,但是把这句话反过来:越小的数据占用显存越小吗?答案是否的。事实上,这是因为CUDA运行时,其固件会占用一定的显存,在本机软硬件环境下是448M,不同的CUDA版本或显卡型号固件显存不同。换言之,只要使用了GPU,就至少会占x xx M的显存,且这部分显存无法被释放。
【已解决】探究CUDA out of memory背后原因,如何释放GPU显存?_cuda清理指定gpu内存-CSDN博客文章浏览阅读2.9w次,点赞49次,收藏120次。本文探究CUDA的内存管理机制,总结RuntimeError: CUDA out of memory的背后原因,并给出解决方案_cuda清理指定gpu内存https://blog.csdn.net/frigidwinter/article/details/130033162———————————————
版权声明:本文为CSDN博主「Mr.Winter`」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/frigidwinter/article/details/130033162
如果看不到远方,我就会相信我的人生本就该一片祥和
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。