报错torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 2.00 GiB total capacity; 1.58 GiB already allocated; 0 bytes free; 1.67 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
时间: 2023-11-06 11:48:39 浏览: 76
这个错误是由于在GPU上分配内存时超出了可用的内存容量导致的。错误信息中提到已经分配了1.58 GiB的内存,但没有剩余可用内存。解决这个问题可以尝试以下几种方法:
1. 减少模型的批处理大小(batch size):减小每个批次的样本数量可以减少内存使用量,但同时也可能会影响模型的性能。
2. 减少模型的输入大小:如果输入数据的维度较大,可以尝试将其缩小,以减少内存使用量。
3. 使用更小的模型:尝试使用具有较少参数和较小体积的模型,以减少内存需求。
4. 释放不需要的变量:在训练过程中,及时释放不再需要的变量,可以释放一部分内存。
5. 使用更大的GPU或多GPU:使用具有更大内存容量的GPU,或者使用多个GPU并将模型参数分布在多个GPU上,可以增加可用的内存容量。
6. 设置PyTorch的CUDA分配配置:根据错误信息中提到的"PYTORCH_CUDA_ALLOC_CONF",可以参考PyTorch文档中关于内存管理和CUDA分配配置的部分,调整相关配置参数。
以上是一些可能解决该问题的方法,你可以根据实际情况选择适合的解决方案。
相关问题
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 2.00 GiB total capacity; 1.67 GiB a
vailable; 40.00 KiB already allocated; 19.94 MiB free; 4.00 MiB cached)
This error message indicates that the program tried to allocate 20.00 MiB of memory on the GPU, but there was not enough memory available. The GPU has a total capacity of 2.00 GiB, but only 1.67 GiB was available at the time. 40.00 KiB had already been allocated, leaving only 19.94 MiB free. Additionally, 4.00 MiB had been cached, which means that it was reserved for future use but not currently in use.
To resolve this issue, you can try one or more of the following:
1. Reduce the size of the input data or the size of the model being used. This will reduce the amount of memory required.
2. Increase the GPU memory capacity. If possible, add more memory to the GPU or switch to a GPU with a larger memory capacity.
3. Use a smaller batch size. This will reduce the amount of memory required for each iteration.
4. Use gradient checkpointing. This technique allows the model to compute gradients for small subsets of parameters at a time, reducing the amount of memory required.
5. Use mixed precision training. This technique allows the model to use 16-bit floating point numbers instead of 32-bit, reducing the amount of memory required.
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 148.00 MiB (GPU 0; 4.00 GiB total capacity; 5.23 GiB already allocated;
torch.cuda.OutOfMemoryError是指在使用PyTorch时,尝试在CUDA显存中分配内存时出现错误,因为显存已经被其他操作占用完毕。其中引用和引用提到了相同的错误信息和可能的解决方法。根据这些引用内容,可以推测解决此错误的方法是通过设置max_split_size_mb参数来避免内存碎片化。你可以参考PyTorch的Memory Management和PYTORCH_CUDA_ALLOC_CONF文档了解更多的信息。引用也提到了类似的错误信息,但给出了不同的显存容量和已分配内存的数值。这说明出现该错误的具体原因可能因系统配置不同而有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [成功解决torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 86.00 MiB (GPU 0; 2.00 ...](https://blog.csdn.net/qq_41185868/article/details/131015210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [报错记录torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 90.00 MiB (GPU 0; 7.93 ...](https://blog.csdn.net/gongkeguo/article/details/127674524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)