1. 程式人生 > 其它 >pytorch中的tensor以numpy形式進行輸出儲存

pytorch中的tensor以numpy形式進行輸出儲存

技術標籤:pythonpython

pytorch中的tensor以numpy形式進行輸出儲存


因為tensor和numpy不是一種資料型別,所以,在將資料輸出儲存之前,需要將tensor的資料型別進行轉換,否則會報一下的錯誤

TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

以下先貼一版沒修改之前的程式碼,也就是會報error的。

# a是我需要儲存的資料,其資料型別為tensor,但是還沒有轉換為numpy格式。
numpy.save("output.npy",a)

修改後的:

b = a.data.cpu().numpy() # 資料型別轉換
numpy.save("output.npy",b) # 大功告成

說一下我的思考,看到error後,我首先去看了一下a的資料型別格式,確實不是numpy型別,而是tensor型別。

image-20210105211141247

在我轉換完成後,可以看見資料的型別是array。

image-20210105211228506