从list传入

数据量较小时,可以直接传入。
Import_from_List
注意要区别tensor()和Tensor()这两个函数,前者是传入数据本身,后者时传入数据的shape,Tensor与FloatTensor函数用法类似,如FloatTensor(2,3)会生成一个两行三列的tensor,数据为随机量FloatTensor类型
当然FloatTensor也能传入数据本身,但数据必须用一个list表示
建议torch.FloatTensor(dim1,dim2,dim3)这种格式,不用Tensor直接传数据

未初始化数据

uninitialized

  1. torch.empty()
  2. torch.FloatTensor(dim1,dim2,dim3)
  3. torch.IntTensor(dim1,dim2,dim3)

设置默认tensor

set_default_type
增强学习一般使用double,其他一般使用float。

随机初始化

rand
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
2
3
4
5
6
7
8
9
import torch

# 生成服从标准正态分布的随机数,默认均值为0,标准差为1
x = torch.normal(size=(2, 3))
print(x)

# 生成服从均值为5,标准差为2的正态分布的随机数
y = torch.normal(mean=5, std=2, size=(2, 3))
print(y)

输出示例:

1
2
3
4
tensor([[ 0.1718, -0.7127, -0.8593],
[-2.8809, -0.4456, 1.1640]])
tensor([[4.2441, 6.1695, 5.2272],
[3.7791, 6.6196, 3.5563]])

注意: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
2
3
4
5
6
7
8
9
import torch

# 创建一个形状为 (2, 3) 的张量,填充值为 5
x = torch.full((2, 3), 5)
print(x)

# 创建一个形状为 (4,) 的张量,填充值为 2.5,数据类型为 float
y = torch.full(4, 2.5, dtype=torch.float32)
print(y)

输出示例:

1
2
3
tensor([[5, 5, 5],
[5, 5, 5]])
tensor([2.5000, 2.5000, 2.5000, 2.5000])

注意:torch.full() 函数创建的张量的形状由参数 size 指定,填充值由参数 fill_value 指定。可以通过指定其他可选参数来控制输出张量的数据类型、布局类型、计算设备等。