PyTorch(一)--一個程式說明numpy與Tensor的轉換與他們的相互引用關係
阿新 • • 發佈:2018-12-20
import numpy as np import torch a = np.ones(5) b = torch.from_numpy(a)# 使用from_numpy方法,Tensor只會指向numpy資料 a_ = b.numpy() # a_使用Tensor中的資料 """ a = np.add(a,1) #只是將a中儲存的指標指向新計算好的資料上去 print(a) #[2,2,2,2,2] print(b) #[1,1,1,1,1] print(a_) #[1,1,1,1,1] """ """ np.add(a, 1, out=a) #改變了a指向的資料 print(a) #[2,2,2,2,2] print(b) #[2,2,2,2,2] print(a_) #[2,2,2,2,2] """ m=np.ones(5) n=torch.Tensor(m) #Tensor重新建立資料,深複製 n_=n.numpy() #n_指向Tensor中的資料 m[0]=2 print(m) #[2,1,1,1,1] print(n) #[1,1,1,1,1] Tensor沒有變化 print(n_) #[1,1,1,1,1] n[1]=2 print(m) #[2,1,1,1,1] m沒有變化 print(n) #[1,2,1,1,1] print(n_) #[1,2,1,1,1] n_變化