5 天前
关于torch.cuda.is_available()
返回True,但是仍然出现RuntimeError: Expected a 'cuda' device type for generator but found 'cpu'
的问题
被恶心一天了,明明各种测试cuda都可用,偏偏在复现项目的时候不好用,哎…
研究了一天之后,终于得到了问题的答案,原来——
项目使用的pytorch版本比较低,而我的版本比较高,恰巧这个项目中使用了torch.set_default_tensor_type()
来设置tensor的类型,如果你的dataset长度超过30000,就会产生这个报错。
解决方法也很简单:
直接在 dataloarder = data.dataLoarder()
这个语句中加入一个参数generator=torch.Generator(device='cuda')
即可