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