RuntimeError:Expected a ‘cuda‘ device type for generator but found ‘cpu‘

解决方法:

  1. 将DataLoader()中shuffle参数置为False,问题解决,但是不明白为什么,希望哪位大佬了解原因后,指点一下
  2. 或者将torch.set_default_tensor_type(‘torch.cuda.FloatTensor’)删掉,问题也解决了。奇怪的是torch.cuda后面没有提示FloatTensor,是不是没有这种用法了?

花了半天时间研究,方法1没有研究明白,方法2的原因是,在Dataloader加载数据时,数据还在CPU上,torch.set_default_tensor_type(‘torch.cuda.FloatTensor’),数据加载到cuda上了,不一致了。(表示后面也不需要在data.cuda()操作,数据已经在cuda)
———-------------------------------------------------------

https://github.com/dbolya/yolact/issues/664这里有讨论

你可能感兴趣的:(计算机视觉,pytorch,深度学习)