【E-13】TypeError: can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.


一、問題源頭

定位:print(np.array(str_reparametrize).shape)

二、原因

numpy不能讀取CUDA tensor 需要將它轉化為 CPU tensor。

   

三、解決方案

轉換成CPU tenor后即可

本文采用

print(str_reparametrize.cuda().data.cpu().numpy())

   

四、建議

Pytorch代碼運行在cpu中,原來的寫是對的。

用GPU中代碼運行,因為numpy在cuda中沒有這種表達,需要將cuda中的數據轉換到cpu中,再去使用numpy。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM