1. torch.rand(*sizes, out=None) -> Tensor
-
参数:
sizes (int...)
:整数序列,定义了输出张量的形状。out (Tensor, 可选)
:输出张量。
-
返回值:
- 一个新的张量,包含了在区间 [0, 1) 上均匀分布的随机数。
-
用途:
torch.rand
用于生成指定形状的张量,其元素从 [0, 1) 的均匀分布中随机抽取。这通常用于模型权重的初始化或任何需要均匀分布随机数的场景。
2. torch.randn(*sizes, out=None) -> Tensor
-
参数:
sizes (int...)
:整数序列,定义了输出张量的形状。out (Tensor, 可选)
:输出张量。
-
返回值:
- 一个新的张量,包含了从标准正态分布(均值为0,标准差为1)中抽取的随机数。
-
用途:
torch.randn
生成具有标准正态分布(高
斯分布)的随机数张量。这在需要正态分布随机数的场景下使用,如权重初始化或概率模型的输入。
3. torch.randint(low=0, high, *sizes, out=None) -> Tensor
-
参数:
low (int, 可选)
:随机整数生成的最低值(包含),默认为0。high (int)
:随机整数生成的最高值(不包含)。sizes (int...)
:整数序列,定义了输出张量的形状。out (Tensor, 可选)
:输出张量。
-
返回值:
- 一个新的张量,包含了在区间 [low, high) 上均匀分布的随机整数。
-
用途:
torch.randint
用于生成指定范围内的随机整数张量。常用于生成索引、随机抽样、初始化整数参数等场景。
4.torch.randperm(n, out=None) -> Tensor
-
参数:
n (int)
:生成整数序列的上限,序列将包含 [0, n)。out (Tensor, 可选)
:输出张量。
-
返回值:
- 一个新的张量,包含了一个长度为
n
的随机排列。
- 一个新的张量,包含了一个长度为
-
用途:
torch.randperm
生成一个0到n-1的随机排列的张量。这个函数在需要随机打乱序列或者创建没有重复元素的随机索引时非常有用,比如在分割数据集为训练集和测试集时进行随机采样。