Memory CUDA内存不足运行时错误,无论如何要删除pytorch“;“保留内存”;

Memory CUDA内存不足运行时错误,无论如何要删除pytorch“;“保留内存”;,memory,pytorch,Memory,Pytorch,像许多其他人一样,我从内存中得到了Cuda的运行时错误,但出于某种原因,pytorch保留了大量错误 运行时错误:CUDA内存不足。尝试分配2.00个MiB(GPU 0;6.00 GiB总容量;4.31 GiB已分配;844.80 KiB空闲;PyTorch总共保留4.71 GiB) 我试过torch.cuda.empy_cache(),但这也不起作用,其他cuda内存不足的帖子也没有帮到我 当我在运行python程序之前检查我的gpu使用情况(nvidia smi)时,它是非常免费的。从给定的

像许多其他人一样,我从内存中得到了Cuda的运行时错误,但出于某种原因,pytorch保留了大量错误

运行时错误:CUDA内存不足。尝试分配2.00个MiB(GPU 0;6.00 GiB总容量;4.31 GiB已分配;844.80 KiB空闲;PyTorch总共保留4.71 GiB)

我试过torch.cuda.empy_cache(),但这也不起作用,其他cuda内存不足的帖子也没有帮到我


当我在运行python程序之前检查我的gpu使用情况(nvidia smi)时,它是非常免费的。

从给定的描述来看,问题似乎不是Pytorch在执行之前分配的内存,而是cuda在分配数据时内存不足,这意味着4.31GB已经分配(未缓存)但未能分配2MB最后一个块。
可能的解决方案已经为我工作,是减少批量大小,希望有帮助

您应该通过键入

!ps -aux|grep python
!kill -9 652
然后当你找到进程时,你应该通过键入

!ps -aux|grep python
!kill -9 652
这将终止652号进程。在你的情况下,这将是你想要摆脱的其他东西

注意:请记住,如果您终止了一些不应该结束的进程,则必须重新开始代码。但这是最简单、最手工的方法

另一个注意事项:或者,如果在成功清空gpu缓存后再次出现问题,则始终可以减小批处理大小。

请查看以下内容: