1. 程式人生 > >PyTorch(一)--一個程式說明numpy與Tensor的轉換與他們的相互引用關係

PyTorch(一)--一個程式說明numpy與Tensor的轉換與他們的相互引用關係

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_變化