如何为pytorch分配更多内存

问题描述 投票:0回答:1

我不断出现 Cuda 内存不足错误,我有一个带有 24GB vram 的 3090,torch 只分配 7GB,15GB 总是空闲的。

运行时错误:CUDA 内存不足。尝试分配 92.00 MiB(GPU 0;24.00 GiB 总容量;6.90 GiB 已分配;14.90 GiB 空闲;PyTorch 总共保留 6.98 GiB)如果保留内存 >> 已分配内存,请尝试设置 max_split_size_mb 以避免碎片。请参阅内存管理和 PYTORCH_CUDA_ALLOC_CONF

的文档

我还检查了nvidia smi是否有其他进程占用内存,没有发现

enter image description here

这是出现错误之前的内存使用高峰

有什么帮助吗?

memory pytorch torch
1个回答
0
投票

似乎有什么东西阻止了 torch 访问您卡上超过 7GB 的内存。尝试在脚本开头运行

torch.cuda.empty_cache()
,这将释放所有可以安全释放的内存。

如果这不起作用,请尝试尽可能多地终止使用 GPU 列出的进程 - 并可能重新启动计算机。即使进程的

GPU Memory Usage
列显示
N/A
,它也可能会保留一定量的内存。如果许多进程在大范围的块中保留少量内存,则可能会阻止 torch 充分利用可用资源。

© www.soinside.com 2019 - 2024. All rights reserved.