前言
训练模型时,一般我们会把模型model,数据data和标签label放到GPU显存中进行加速。
但有的时候GPU Memory会增加,有的时候会保持不变,以及我们要怎么清理掉一些用完的变量呢?
下面让我们一起来探究下原理吧!
一、pytorch训练模型
只要你把任何东西(无论是多小的tensor)放到GPU显存中,那么你至少会栈1000MiB左右的显存(根据cuda版本,会略有不同)。这部分显存是cuda running时固有配件必须要占掉的显存,你先训练过程汇总也是无法释放的。
import torch
device = torch.device('cuda' if torch.cuda