【1】出现的问题:
RuntimeError: CUDA out of memory.
也就是常说的显存爆炸。
查了一下大致可能出现这个问题的原因:
(1)在测试阶段使用了梯度计算,方法就是测试阶段添加以下代码
with torch.no_grad():#测试阶段
(2)有其它进程占用,方法就是杀进程
taskkill /PID 进程号 -t -f
(3)就是需要释放GPU的内存,在训练和测试阶段均添加下面的代码
for batch, (X, y) in enumerate(dataloader):
X = X.to(device)
y = y.to(device)
pred = model(X)
loss = loss_fn(pred, y)
······(省略了一些代码)
# 添加如下代码
del X, y, pred, loss
torch.cuda.empty_cache()
以上大概就是常见的三种错误,当然还有其它的错误,这里就不在列举,可以去其它地方找找看。
以上就是今天的记录,欢迎大家提出问题!