踩坑RuntimeError: CUDA error: device-side assert triggered
在训练模型的时候,常常修改模型后再运行就会报这个错误:”RuntimeError: CUDA error: device-side assert triggered“。经检查发现错的语句是:
train_x = Variable(torch.from_numpy(train_x).to(device))
在网上查找文档,大部分的错误原因是因为标签设置超出现有标签。我检查代码后发现我的标签和特征都没问题。最后发现是显存不足。上回运行时装载在GPU的tensor没有清楚。每次运行前都在命令提示符中执行:
nvidia-smi
找到显卡对应的任务然后输入:
taskkill -PID xxxx -F
"xxxx"是该任务编号。这样就可以了。当然每次都要输入这些命令太麻烦,也可以减小batch让显存不那么快爆炸。