pytorch 训练报错:expected backend CPU and dtype Float but got backend CUDA and dtype Float

报错:

expected backend CPU and dtype Float but got backend CUDA and dtype Float

常规解决方法:

这种问题,就是数据没有放进gpu造成的,一般加.cuda()可以解决;(来源:https://blog.csdn.net/math_computer/article/details/96327150

成功解决问题的方法:作者在加载优化器和模型的训练参数时,没有注意到代码的执行顺序,应该在在加载模型参数后,就要将模型放到gpu上,然后再加载优化器参数;但是我的执行代码却是所有参数加载好后,将模型放到gpu上,这样就出现了优化器参数分离;优化器加载的参数在cpu上,但是优化器在使用时,却是在gpu上。也就是数据没有放到gpu上;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章