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]])
'''