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

torch.normal(mean, std, *, generator=None, out=None) → Tensor

Returns a tensor of random numbers drawn from separate normal distributions whose mean and standard deviation are given.

The mean is a tensor with the mean of each output element’s normal distribution

The std is a tensor with the standard deviation of each output element’s normal distribution

The shapes of mean and std don’t need to match, but the total number of elements in each tensor need to be the same.

Note

When the shapes do not match, the shape of meanis used as the shape for the returned output tensor

Note

When std is a CUDA tensor, this function synchronizes its device with the CPU.

Parameters

Keyword Arguments

Example:

torch.normal(mean=torch.arange(1., 11.), std=torch.arange(1, 0, -0.1)) tensor([ 1.0425, 3.5672, 2.7969, 4.2925, 4.7229, 6.2134, 8.0505, 8.1408, 9.0563, 10.0566])

torch.normal(mean=0.0, std, *, out=None) → Tensor

Similar to the function above, but the means are shared among all drawn elements.

Parameters

Keyword Arguments

out (Tensor, optional) – the output tensor.

Example:

torch.normal(mean=0.5, std=torch.arange(1., 6.)) tensor([-1.2793, -1.0732, -2.0687, 5.1177, -1.2303])

torch.normal(mean, std=1.0, *, out=None) → Tensor

Similar to the function above, but the standard deviations are shared among all drawn elements.

Parameters

Keyword Arguments

out (Tensor, optional) – the output tensor

Example:

torch.normal(mean=torch.arange(1., 6.)) tensor([ 1.1552, 2.6148, 2.6535, 5.8318, 4.2361])

torch.normal(mean, std, size, *, out=None) → Tensor

Similar to the function above, but the means and standard deviations are shared among all drawn elements. The resulting tensor has size given by size.

Parameters

Keyword Arguments

out (Tensor, optional) – the output tensor.

Example:

torch.normal(2, 3, size=(1, 4)) tensor([[-1.3987, -1.9544, 3.6048, 0.7909]])