当我们的数据有部分在GPU上运行,有部分在CPU上运行时会报这个错,

 

一般有GPU的话都会选择在GPU上面跑模型,但要注意将其他定义的对象也放在GPU上面,否则应该默认是在CPU上面。

如图所示,

x是从GPU中传过来的,

但idx不是,idx是我们自己生成的,它默认放在CPU中,所以我们需要也把它放到GPU中,解决方法:加 .to(DEVICE)    

其中DEVICE已定义。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐