tensor默認是不求梯度的,對應的requires_grad是False。
1.指定數值初始化
import torch #創建一個tensor,其中shape為[2] tensor=torch.Tensor([2,3]) print(tensor)#tensor([2., 3.]) #創建一個shape為[2,3]的tensor tensor=torch.Tensor(2,3)#會隨機數值,等價於這種方式 tensor=torch.Tensor(size=(2,3)) print(tensor) '''tensor([[-3.6525e-01, 2.8671e-42, 0.0000e+00], [ 0.0000e+00, 0.0000e+00, 0.0000e+00]])''' shape=(2,3) zeros=torch.zeros(size=shape)#全部是0的tensor print(zeros) ''' tensor([[0., 0., 0.], [0., 0., 0.]]) ''' zeros_like=torch.zeros_like(zeros)#返回跟zeros的tensor一個size的全零tensor ones=torch.ones(shape)#全部是1的tensor ones_like=torch.ones_like(ones)#返回跟ones的tensor一個size的全一tensor arange=torch.arange(start=0, end=5, step=1) #返回一個從start到end的序列,步進為1 print(arange) #tensor([0, 1, 2, 3, 4])
2.指定分布初始化
import torch size=[2,3] rand=torch.rand(size) #[0,1)內的均勻分布隨機數 rand_like=torch.rand_like(rand)#返回跟rand的tensor一樣size的0-1隨機數 randn=torch.randn(size)#返回標准正太分布N(0,1)的隨機數 print(randn) ''' tensor([[-1.0543, 0.9566, -2.4818], [-0.8597, -0.7725, -1.6121]]) '''