当前位置:   article > 正文

RuntimeError: CUDA out of memory. 已解决_runtimeerror: cuda out of memory. tried to allocat

runtimeerror: cuda out of memory. tried to allocate 20.00 mib (gpu 0; 2.00 g

RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 8.00 GiB total capacity; 6.77 GiB already allocated; 0 bytes free; 7.24 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

跑代码遇到了这个错误,很烦。

问了下GPT

这个问题是由于CUDA内存不足导致的。你可以尝试以下几种方法解决这个问题:

1. 减小批次大小:减小每个训练批次的大小,可以减少对CUDA内存的需求量。可以尝试减小批次大小并重新运行代码。

2. 减小模型参数:如果你的模型非常庞大,可以尝试减小模型的参数量。可以通过减少模型的宽度或深度来减小参数数量。

3. 使用更小的模型:尝试使用更小的模型或者使用轻量级模型来减小对CUDA内存的需求。

4. 清理CUDA缓存:在每个训练迭代之后,使用torch.cuda.empty_cache()来清理CUDA缓存,释放一部分已经分配的内存。

5. 限制CUDA的显存使用:可以使用torch.cuda.set_per_process_memory_fraction()来限制CUDA的显存使用。这将确保你的模型不会占用太多显存,从而避免出现内存不足错误。

6. 使用更高容量的GPU:如果你的任务对显存要求较高,可以尝试使用显存容量更大的GPU。

7. 调整PyTorch的内存管理配置:你可以根据PyTorch的文档中的指导,调整内存管理配置,以解决内存不足的问题。

如果以上方法都不起作用,可能需要考虑使用更强大的计算资源,如云服务器或更高规格的GPU来解决CUDA内存不足的问题。

也看了一些其他的博客,应该是模型比较大,就换了个模型

从base版本换成了tiny版本,参数量从87M下降到28M

最后成功运行了

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/165742
推荐阅读
相关标签
  

闽ICP备14008679号