先上一条命令:watch --color -n1 gpustat -cpu --color
此命令用于Linux动态监测GPU情况,直接在命令行输入即可
1.如果是没有训练就报错
batch_size太大了,输入的input_ids才能真实反映batch_size,别改错了
input_shape = input_ids.size()
batch_size, seq_length = input_shape
2.训练了>=1轮之后报错&&显存持续增长
看一下用于backward()的变量是否有累加,有的话加上item()
比如:
total_loss = total_loss + weight*other_loss
total_loss.backward()
改成
total_loss = total_loss.item() + weight*other_loss
total_loss.backward()
文章讲述了如何使用Linux命令`watch--color-n1gpustat-cpu--color`动态监控GPU状态。在训练模型时,如果遇到因batch_size过大导致的错误,应确保input_ids正确反映batch_size。另外,当训练多轮后显存持续增长,可能是因为在backward()操作中变量累积,应使用`.item()`来避免,如将`total_loss+=weight*other_loss`改为`total_loss=total_loss.item()+weight*other_loss`,以防止显存泄漏问题。
9437

被折叠的 条评论
为什么被折叠?



