显存不足的情况下,总结了以下几种方法,任何情况都能用其中一个解决。
一、降低batch_size ,训练时间就会长点,一般这个都能解决;
二、在测试和验证代码中加入以下代码:
def test(model,dataloader):
model.eval()
with torch.no_grad(): #插在此处
for batch in tqdm(dataloader):
……
三、在报错代码前加入以下代码,释放多余显存。
if hasattr(torch.cuda,'empty_cache'):
torch.cuda.empty_cache();
四、重启电脑或者程序,有些隐藏的程序在占用内存。