torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 1.20 GiB (GPU 0; 8.00 GiB total capacity; 5.88 GiB already allocated; 89.00 MiB free; 6.29 GiB reserved in total by PyTorch) If reserved memory is >> allocated memor y try setting max_split_size_mb to avoid fragmentation. 什么意思
时间: 2023-11-06 20:45:09 浏览: 271
解决Pytorch 训练与测试时爆显存(out of memory)的问题
3星 · 编辑精心推荐
这个错误是由于在使用PyTorch时,尝试分配1.20 GiB的内存时,CUDA显存已经用完导致的。错误信息中提到,GPU 0的总容量为8.00 GiB,已经分配了5.88 GiB的内存,剩余89.00 MiB的空闲内存,而总共有6.29 GiB的内存被PyTorch保留。
建议你尝试设置max_split_size_mb参数来避免内存碎片化。这个参数可以在PyTorch中进行设置,通过设置较小的值,可以减小内存碎片化的可能性,从而更好地利用显存。
例如,你可以尝试在代码中添加如下一行来设置max_split_size_mb参数的值:
torch.backends.cuda.max_split_size_mb = 1024
这样,你可以将max_split_size_mb的值设置为1024 MB,然后重新运行程序,看看是否能够避免这个错误。
阅读全文