torch.randn — PyTorch 2.7 documentation (original) (raw)

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

Returns a tensor filled with random numbers from a normal distribution with mean 0 and variance 1 (also called the standard normal distribution).

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

For complex dtypes, the tensor is i.i.d. sampled from a complex normal distribution with zero mean and unit variance as

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

This is equivalent to separately sampling the real (Re⁡)(\operatorname{Re}) and imaginary(Im⁡)(\operatorname{Im}) part of outi\text{out}_i as

Re⁡(outi)∼N(0,12),Im⁡(outi)∼N(0,12)\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})

The shape of the tensor is defined by the variable argument size.

Parameters

size (int...) – a sequence of integers defining the shape of the output tensor. Can be a variable number of arguments or a collection like a list or tuple.

Keyword Arguments

Example:

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