目錄
1 Tensor與Numpy
1.1 張量轉Numpy
1.2 Numpy轉張量
1 Tensor與Numpy
1.1 張量轉Numpy
調用numpy()方法可以把Tensor轉換為Numpy,此時內存是共享的。
使用copy()方法可以避免內存共享
import torch
import numpy as np# tensor轉numpy:numpy()
def test01():t1=torch.tensor([[1,2,3],[4,5,6]])print(t1)# 淺拷貝 數據內存共享n1=t1.numpy()print(n1)# 深拷貝 創建新的副本n2=t1.numpy().copy()print(n2)
1.2 Numpy轉張量
使用copy()方法可以避免內存共享
使用傳統的torch.tensor()則內存是不共享的~
# numpy轉tensor
# 淺拷貝:torch.from_numpy(),數據內存共享
# 深拷貝:torch.tensor() 參數為numpy數組 創建新的副本
def test02():n1=np.array([1,2,3,4,5])t1=torch.from_numpy(n1)print(t1)t2=torch.tensor(n1)print(t2)