Pytorch中奇怪的Cuda记忆外行为

Pytorch中奇怪的Cuda记忆外行为,pytorch,pytorch-dataloader,Pytorch,Pytorch Dataloader,编辑:已解决-问题取决于工人数量,降低工人数量,问题已解决 我正在使用24GB的Titan RTX,我正在使用它与Pytorch进行图像分割Unet 它总是以不同的批大小将Cuda从内存中抛出,加上我的可用内存比它声明的要多,并且通过降低批大小,它增加了它试图分配的内存,这没有任何意义 以下是我尝试过的: 图像大小=448,批量大小=8 “运行时错误:CUDA错误:内存不足” 图像大小=448,批量大小=6 “运行时错误:CUDA内存不足。尝试分配3.12 GiB(GPU 0;24.00

编辑:已解决-问题取决于工人数量,降低工人数量,问题已解决

我正在使用24GB的Titan RTX,我正在使用它与Pytorch进行图像分割Unet

它总是以不同的批大小将Cuda从内存中抛出,加上我的可用内存比它声明的要多,并且通过降低批大小,它增加了它试图分配的内存,这没有任何意义

以下是我尝试过的:

图像大小=448,批量大小=8

  • “运行时错误:CUDA错误:内存不足”
图像大小=448,批量大小=6

  • “运行时错误:CUDA内存不足。尝试分配3.12 GiB(GPU 0;24.00 GiB总容量;2.06 GiB已分配;19.66 GiB空闲;PyTorch总共保留2.31 GiB)”
is说它试图分配3.12GB,我有19GB的空闲空间,但它抛出了一个错误

图像大小=224,批量大小=8

  • “运行时错误:CUDA内存不足。尝试分配28.00 MiB(GPU 0;24.00 GiB总容量;2.78 GiB已分配;19.15 GiB空闲;PyTorch总共保留2.82 GiB)”
图像大小=224,批量大小=6

  • “运行时错误:CUDA内存不足。尝试分配344.00 MiB(GPU 0;24.00 GiB总容量;2.30 GiB已分配;19.38 GiB空闲;PyTorch总共保留2.59 GiB)”
减少了批量大小,但尝试分配更多

图像大小=224,批量大小=4

  • “运行时错误:CUDA内存不足。尝试分配482.00 MiB(GPU 0;24.00 GiB总容量;2.21 GiB已分配;19.48 GiB空闲;PyTorch总共保留2.50 GiB)”
图像大小=224,批量大小=2

  • “运行时错误:CUDA内存不足。尝试分配1.12 GiB(GPU 0;24.00 GiB总容量;1.44 GiB已分配;19.88 GiB空闲;PyTorch总共保留2.10 GiB)”
图像大小=224,批量大小=1

  • “运行时错误:CUDA内存不足。尝试分配1.91 GiB(GPU 0;24.00 GiB总容量;894.36 MiB已分配;20.94 GiB可用;PyTorch总共保留1.03 GiB)”

即使图像尺寸和批次大小都不太好,

解决-问题依赖于工人的数量,降低了它们,问题解决了

你可能想考虑添加你的解决方案作为答案。