Expected a ‘cuda‘ device type for generator but found ‘cpu‘的解决方法

阅读: 评论:0

Expected a ‘cuda‘ device type for generator but found ‘cpu‘的解决方法

Expected a ‘cuda‘ device type for generator but found ‘cpu‘的解决方法

Expected a ‘cuda’ device type for generator but found 'cpu’的解决方法

在调试一个小样本学习的代码是遇到这样一个问题:

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

在网上查找了好久,总结起来有如下的4种解决方案:
1.使用的1.9版本的pytorch太高了,换成pytorch1.8之后就行了。这种方法据说可行,但我没有亲自试过(感觉太麻烦)

2.如果你的代码在先前使用了torch.set_default_tensor_type()来设置tensor的类型,这个时候如果你的dataset的长度超过了30000,就会报出此错误。因此可以将先前的torch.set_default_tensor_type()语句进行注释即可

3.将Dataloder中的shuffle=True改成shuffle=Flase,但这种方法我试过可行,不会报错,但由于取消了对数据的打乱,可能会对训练造成不利影响

4.紧接着,其中下边这中解决方法解决了这个问题:

具体代码如下:

// An highlighted block
#原来的代码
loader = DataLoader(dataset, batch_size=num_classes, shuffle=True)
#添加generator=torch.Generator(device='cuda')改成如下结果:
loader = DataLoader(dataset, batch_size=num_classes, shuffle=True, generator=torch.Generator(device='cuda'))

本文发布于:2024-01-30 15:58:18,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170660150121164.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:解决方法   device   cuda   Expected   cpu
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23