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上;

 

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