torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 158.00 MiB (GPU 0; 1.96 GiB total capacity; 1014.71 MiB already allocated; 70.81 MiB free; 1.02 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF Sentry is attempting to send 1 pending events Waiting up to 2 seconds Press Ctrl-C to quitze解决上述报错
时间: 2024-02-16 09:02:26 浏览: 94
这个错误提示表明你的GPU内存不足以分配请求的张量。PyTorch已经在GPU上分配了一些内存,只剩下70.81 MiB的空闲空间。解决这个错误的一种方法是减小您正在尝试分配的张量的大小,或通过删除未使用的张量来释放一些GPU内存。另一种解决方法是增加GPU的内存容量或切换到具有更多内存的不同GPU。您还可以尝试设置max_split_size_mb参数以避免内存碎片,如错误消息中所建议的。该参数控制PyTorch在GPU上分配的最大内存块的大小。
相关问题
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 12.00 MiB (GPU 0; 1.96 GiB total ...
这是一个 CUDA 内存不足的错误。这通常意味着您的模型或数据太大,无法适应您的 GPU 内存。有几种方法可以尝试解决这个问题:
1. 减小批量大小(batch size):使用更小的批量大小可能会使您的模型能够适应于您的 GPU 内存。
2. 减少模型大小:尝试减少模型的大小,例如通过减少层数、减小隐藏层大小或使用更小的嵌入向量等方法。
3. 使用更大的 GPU:如果您的 GPU 内存不足,可以尝试升级到更大的 GPU,以便更好地适应您的模型和数据。
4. 使用混合精度训练:混合精度训练可以使用较少的内存来训练模型。您可以使用 NVIDIA Apex 库来实现混合精度训练。
5. 释放不必要的 GPU 内存:在训练期间,有时会产生一些不必要的 GPU 内存占用。您可以尝试使用 `torch.cuda.empty_cache()` 来释放不必要的内存。
阅读全文
相关推荐








