tensor
从list传入
数据量较小时,可以直接传入。
注意要区别tensor()和Tensor()这两个函数,前者是传入数据本身,后者时传入数据的shape,Tensor与FloatTensor函数用法类似,如FloatTensor(2,3)会生成一个两行三列的tensor,数据为随机量FloatTensor类型
当然FloatTensor也能传入数据本身,但数据必须用一个list表示
建议torch.FloatTensor(dim1,dim2,dim3)这种格式,不用Tensor直接传数据
未初始化数据
- torch.empty()
- torch.FloatTensor(dim1,dim2,dim3)
- torch.IntTensor(dim1,dim2,dim3)
设置默认tensor
增强学习一般使用double,其他一般使用float。
随机初始化
torch.rand(2,3)
随机生成一个两行三列的tensor,初始化数值在0-1范围内随机采样torch.randint(min,max,shape)
表示从min-max中随机取整数,shape为一个list。
均匀采样0-10的Tensor,要用x = 10 * torch.rand(dim1,dim2)
,torch.randint()
只能采样整数值。
以下内容为gpt生成:
正态随机初始化
torch.normal(mean=0, std=1, size=None, out=None, *, generator=None)
用于生成服从正态分布(高斯分布)的随机数。
参数说明:
mean
:可选参数,表示正态分布的均值,默认为0。std
:可选参数,表示正态分布的标准差,默认为1。size
:可选参数,确定返回的随机数张量的形状。out
:可选参数,输出的张量用于保存结果。generator
:可选参数,生成随机数的随机数生成器。out
:可选参数,输出的张量用于保存结果。
返回值:一个张量,形状由参数size
指定,张量中的每个元素都是从正态分布中随机采样得到的。
使用示例:
1 | import torch |
输出示例:
1 | tensor([[ 0.1718, -0.7127, -0.8593], |
注意:torch.normal()
生成的随机数的分布形状取决于输入的形状参数 size
,可以是标量、元组或张量的形状。
用指定值填充tensor
torch.full(size, fill_value, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
是 PyTorch 中的一个张量填充函数,用于创建指定尺寸并用指定值填充的张量。
参数说明:
size
:指定要创建的张量的形状,可以是一个整数或一个元组,如(3, 4)
。fill_value
:填充张量的标量值。out
:可选参数,输出的张量用于保存结果。dtype
:可选参数,输出张量的数据类型。layout
:可选参数,输出张量的布局类型。device
:可选参数,指定计算设备(如 “cpu” 或 “cuda:0”)。requires_grad
:可选参数,指定是否将张量设置为需要梯度计算。
返回值:一个具有指定形状和填充值的张量。
使用示例:
1 | import torch |
输出示例:
1 | tensor([[5, 5, 5], |
注意:torch.full()
函数创建的张量的形状由参数 size
指定,填充值由参数 fill_value
指定。可以通过指定其他可选参数来控制输出张量的数据类型、布局类型、计算设备等。