pytorch中的tensor以numpy形式進行輸出儲存
阿新 • • 發佈:2021-01-06
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型別。
在我轉換完成後,可以看見資料的型別是array。