真的是坑呀,我运行github里SimpleDeblurNet项目图像去模糊,用原来的代码一切良好,后来用在自己的服务器上,因为我这有两块2080Ti于是将里面的代码改成了多GPU运行模式。
然后就是坑比的运行即重启,程序也没报错,直接重启,有时候还没开始跑也重启。我一度怀疑是服务器的问题,可能是GPU温度过高,可能是线路老化等等 。结果发现就是代码的问题:
model=SRNDeblurNet().cuda()
net = torch.nn.DataParallel(model,device_ids=[0,1])
这是正确的代码,不正确的代码如下:
net = torch.nn.DataParallel(SRNDeblurNet().cuda(),device_ids=[0,1])
你说这有区别吗?就这一点点区别 ,搞得我一直重启到怀疑人生。真的是服了。
几天之后再看一下 可能不是代码的问题 更有可能是操作系统的原因 windows 操作系统下会出问题 同样的代码 linux下 不会。反正要是你们也遇到了同样的问题,你就看着办把