Table of Contents
Shortcuts

# torch.normal

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 `mean` is 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:

    - mean (Tensor) – the tensor of per-element means

    - std (Tensor) – the tensor of per-element standard deviations

  Keyword Arguments:

    - generator (`torch.Generator`, optional) – a pseudorandom number generator for sampling

    - out (Tensor, optional) – the output tensor.

  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:

    - mean (float, optional) – the mean for all distributions

    - std (Tensor) – the tensor of per-element standard deviations

  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:

    - mean (Tensor) – the tensor of per-element means

    - std (float, optional) – the standard deviation for all distributions

  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:

    - mean (float) – the mean for all distributions

    - std (float) – the standard deviation for all distributions

    - size (int...) – a sequence of integers defining the shape of the output tensor.

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

## Docs

Access comprehensive developer documentation for PyTorch

View Docs

## Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

## Resources

Find development resources and get your questions answered

View Resources

To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.