【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