训练完一轮后,如何释放显存开始下一轮 · Issue #35229 · PaddlePaddle/Paddle · GitHub 您所在的位置:网站首页 如何释放gpu内存占用 训练完一轮后,如何释放显存开始下一轮 · Issue #35229 · PaddlePaddle/Paddle · GitHub

训练完一轮后,如何释放显存开始下一轮 · Issue #35229 · PaddlePaddle/Paddle · GitHub

2024-04-14 14:29| 来源: 网络整理| 查看: 265

1.可以考虑降低batchsize 2.可以考虑手动加一些no_grad 3.考虑手动关闭一下dataloader的缓存选项,降低速度以减少显存消耗 4.一些具体情况可以在issue中搜索一下以前其他用户提出的情况和解答,或许有帮助 … ---原始邮件--- 发件人: "Hao @.> 发送时间: 2021年8月27日(周五) 晚上10:11 收件人: @.>; 抄送: @.@.>; 主题: Re: [PaddlePaddle/Paddle] 训练完一轮后,如何释放显存开始下一轮 (#35229) https://www.paddlepaddle.org.cn/documentation/docs/zh/faq/train_cn.html#wenti-xunlianshibaocuotishixiancunbuzu-ruhejiejue 可以参考这个文档 … ---原始邮件--- 发件人: "Hao @.> 发送时间: 2021年8月27日(周五) 晚上9:48 收件人: @.>; 抄送: @.@.>; 主题: [PaddlePaddle/Paddle] 训练完一轮后,如何释放显存开始下一轮 (#35229) 环境:paddle 2.0.2 语言:python 3.7 问题: 使用不同权重的组合损失依次训练模型,请问如何在每一轮训练完成后释放显存。 (eg: Loss = loss1+alpha*loss2),alpha=[0.1, 0.2, 0.3] 示例: for a in alpha // (1) a=0.1; (2) a=0.2; (3)a=0.3 net = model(); for epoch in range(10): loss = net(input); loss.backward //完成一轮,保存参数 net.save_dict(); 完成一轮训练后,显存并没有释放,导致第二轮训练时,GPU out of memory。 请问怎么在训练完成后释放显存。谢谢您的解答! — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. 感谢您的帮助,请问这些export命令是直接输入到终端里吗? #一旦不再使用即释放内存垃圾,=1.0 垃圾占用内存大小达到10G时,释放内存垃圾 export FLAGS_eager_delete_tensor_gb=0.0 #启用快速垃圾回收策略,不等待cuda kernel 结束,直接释放显存 export FLAGS_fast_eager_deletion_mode=1 #该环境变量设置只占用0%的显存 export FLAGS_fraction_of_gpu_memory_to_use=0 我尝试过将他们输入终端,但似乎不起作用。 — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有