Pytorch训练模型时如何释放GPU显存 torch.cuda.empty_cache()内存释放以及cuda的显存机制探索

本文探讨PyTorch训练模型时GPU显存的变化及释放策略。当新增 tensor 时,GPU显存会扩大,但在 batch 训练中,由于内存管理机制,显存容量可能看似不变。通过 `torch.cuda.empty_cache()` 可释放不再使用的显存。理解这些机制有助于优化 GPU 资源利用。
摘要由CSDN通过智能技术生成

前言

训练模型时,一般我们会把模型model,数据data和标签label放到GPU显存中进行加速。

但有的时候GPU Memory会增加,有的时候会保持不变,以及我们要怎么清理掉一些用完的变量呢?

下面让我们一起来探究下原理吧!

一、pytorch训练模型

只要你把任何东西(无论是多小的tensor)放到GPU显存中,那么你至少会栈1000MiB左右的显存(根据cuda版本,会略有不同)。这部分显存是cuda running时固有配件必须要占掉的显存,你先训练过程汇总也是无法释放的。

import torch

device = torch.device('cuda' if torch.cuda
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

捡起一束光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值