pytorch出现RuntimeError: CUDA out of memory.

无论batch-size设置多小也是会出现这个问题的,我的原因是我将pytorch升级到了1.0.1,然后出现了这个问题

RuntimeError: CUDA out of memory. Tried to allocate 823.88 MiB (GPU 0; 7.93 GiB total capacity; 6.96 GiB already allocated; 189.31 MiB free; 10.26 MiB cached)

你可以监控一下之GPU的使用情况 ,使用下面的命令

watch -n 0.1 nvidia-smi

在期间会出现GPU的使用率达到99%,估计是没有释放GPU内存吧。

解决方法

我出现问题的代码,在输入到网络里面 ,如下:

output = net(input,inputcoord)

将这个代码修改成

with torch.no_grad():
    output = net(input,inputcoord)

附带

在调试低版本的pytorch源程序的时候也会出现警告

 UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.

 也可以在前面添加下面的解决这个问题

with torch.no_grad():

 

参考

https://blog.csdn.net/xijuezhu8128/article/details/86594478

你可能感兴趣的:(bug)