开发者社区 > 云原生 > Serverless > 正文

函数计算,报错怎么办?

函数计算,报错怎么办?OutOfMemoryError: CUDA out of memory. Tried to allocate 3.43 GiB (GPU 0; 14.75 GiB total capacity; 8.96 GiB already allocated; 3.38 GiB free; 11.19 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
Time taken: 11.8 sec.

展开
收起
三分钟热度的鱼 2024-03-13 19:30:43 38 0
1 条回答
写回答
取消 提交回答
    1. 调整批量大小
      减小批量大小是解决内存溢出最直接的方法。这可以减少每次迭代中GPU需要处理的数据量,相应地减少内存占用。

    2. 使用内存优化技巧
      梯度累积:在不减小批量大小的情况下,通过累积几个小批量的梯度来模拟大批量训练的效果。
      模型简化:优化模型结构,减少不必要的参数。

    3. 内存碎片化解决方案
      设置PYTORCH_CUDA_ALLOC_CONF环境变量,调整内存分配策略,例如通过设置最大分裂块大小max_split_size_mb来减少碎片化。

    ——参考链接

    2024-07-09 14:24:28
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载