CUDA out of memory 或 BrokenPipeError: [Errno 32] Broken pipe 或 OSError: [WinError 1455] 页面文件太小的解决办法

环境:

操作系统:Windows 10

内存:16G

显卡:3060(12G)

torch版本:1.10.2 + cuda11.3

torchvision版本:0.11.3 + cuda11.3

cuda版本:11.3 (英伟达官网安装的)

遇到的问题:

1)batch_size=2时正常训练,batch_size=4时,pycharm直接卡死闪退,重新打开后直接闪退,必须重启才行。或者就报错:Process finished with exit code -1073741819 (0xC0000005)。此时pycharm无法运行,只能重启电脑。

2)报错:CUDA out of memory,然而显存只占用了2G左右。

3)加载完模型后,一直卡在 开始训练 这里,显存占用一直处于0.6G。

原因和解决办法:

原因:实际上是 虚拟内存不足 的问题,只有当虚拟内存设置好了,显存就正常占用了。

解决办法:选择C盘,点“系统管理的大小”,重启电脑,解决。

注: DataLoader()里的 pin_memory和num_workers和这个问题无关,不过num_workers设置过大时,也会报错。

 我的疑问??

为什么需要这么大的虚拟内存?在加载数据的时候,内存RAM也只占用了8G左右,但虚拟内存就占了18G左右,为什么不是先分配RAM,然后再分配虚拟内存呢?求解答。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值