今天复现一个论文的代码,训练模型报错:CUDA error: invalid device ordinal
因为这篇论文比较老,我搭了一个新的conda环境复现这篇论文,上网查了之后一直以为是我新环境的pytorch版本有问题,用其他办法重新装了两遍还是不行,直到我发现这个新环境用在我原来的其他项目上就没问题,才开始想到是代码里的事,找了半天:
parser.add_argument('--device',type=str,default='cuda:1',help='')
这里的设备设置了一个调用显卡的编号,查看我的显卡:
nvidia-smi
第一列显示了显卡编号,我只有一张卡,编号是0,根本就没有编号是1的卡,代码改为:
parser.add_argument('--device',type=str,default='cuda:0',help='')
问题解决,希望大家都能速通这种蠢问题。