RuntimeError: cuda runtime error (11) : invalid argument at /pytorch/aten/src/THC/THCGeneral.cpp:405

错误

RuntimeError: cuda runtime error (11) : invalid argument at /pytorch/aten/src/THC/THCGeneral.cpp:405

解决 :
torch.backends.cudnn.benchmark = True(该句一般出现在主函数的开头几句)
改为 torch.backends.cudnn.benchmark = False

错误原因 :
1、多GPU测试
2、PyTorch版本与显卡不兼容

在这里我的报错是由于后者,我的显卡是tesla T4,PyTorch 0.4.1。
可以换成较低的显卡解决 ;
或者比较简单的解决方案是,将 python 文件中的 torch.backends.cudnn.benchmark = True 设置成 False,即可得到一个静态 CUDA error,此时虽然报错但并不影响后面的运行。

torch.backends.cudnn.benchmark = True理解

默认这个选项是关闭的,对于我们大多数的任务来说,在开启的时候cudnn可以根据当前的设置来选择最优算法来加快训练速度。
但是,当选择最优算法时是需要花费时间的,
也就是说,如果我们的输入在每一次的iterate的时候都进行变化,那么benchmark就会在每次iterate的时候重新选择最优算法,反而速度会变慢;
如果我们每次训练的输入数据的size不变,那么开启这个就会加快我们的训练速度:torch.backends.cudnn.benchmark = True

你可能感兴趣的:(采坑及软件安装)