torch.randn

torch.randn(*size, *, generator=None, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False) Tensor

返回一个包含随机数的张量,这些随机数来自均值为 0 和方差为 1 的正态分布(也称为标准正态分布)。

$\text{out}_{i} \sim \mathcal{N}(0, 1)$

对于复杂数据类型,张量是从均值为零、方差为一的复正态分布中独立同分布采样得到的。

$\text{out}_{i} \sim \mathcal{CN}(0, 1)$

这等同于分别对实部$(\operatorname{Re})$ 和虚部$(\operatorname{Im})$ 进行独立采样,如下所示:

$\operatorname{Re}(\text{out}_{i}) \sim \mathcal{N}(0, \frac{1}{2}),\quad \operatorname{Im}(\text{out}_{i}) \sim \mathcal{N}(0, \frac{1}{2})$

张量的形状由参数 size 定义。

参数

size (int...) – 定义输出张量形状的整数序列。可以是多个参数,也可以是一个列表或元组等集合。

关键字参数
  • generator (torch.Generator, 可选) – 用于样本采集的伪随机数生成器

  • out (Tensor, 可选) – 指定输出张量。

  • dtype (torch.dtype, 可选) – 返回张量的所需数据类型。默认情况下,如果未指定,则使用全局默认值(参见 torch.set_default_dtype())。

  • layout (torch.layout, 可选) - 指定返回张量的布局。默认值为 torch.strided

  • device (torch.device, 可选) – 返回张量所需的设备。默认情况下,如果未指定 None,则使用当前的默认张量类型设备(参见torch.set_default_device())。对于 CPU 张量类型,默认为 CPU 设备;对于 CUDA 张量类型,则为当前的 CUDA 设备。

  • requires_grad (bool, optional) – 是否启用自动求导记录返回的张量上的操作。默认值:False

  • pin_memory (bool, 可选) – 如果启用,返回的张量将在固定内存中分配。仅适用于 CPU 张量。默认值: False

示例:

>>> torch.randn(4)
tensor([-2.1436,  0.9966,  2.3426, -0.6366])
>>> torch.randn(2, 3)
tensor([[ 1.5954,  2.8929, -1.0923],
        [ 1.1719, -0.4709, -0.1996]])
本页目录