
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Torch Normal Method in Python - PyTorch
To create a tensor of random numbers drawn from separate normal distributions whose mean and std are given, we apply the torch.normal() method. This method takes two input parameters − mean and std.
mean is a tensor with the mean of each output element’s normal distribution, and
std is a tensor with the standard deviation of each output element’s normal distribution.
It returns a tensor of random numbers drawn from separate normal distributions whose mean and standard deviation are mean and std.
Syntax
torch.normal(mean, std)
Steps
We could use the following steps to create a tensor of random numbers drawn from separate normal distributions −
Import the required library. In all the following examples, the required Python library is torch. Make sure you have already installed it.
import torch
Define two torch tensors − mean and std. The number of elements in both the tensors must be the same.
mean=torch.arange(1., 11.), std=torch.arange(1, 0, -0.1)
Compute the tensor of random numbers drawn from separate normal distributions with the given mean and std.
tensor = torch.normal(mean, std)
Print the computed tensor of random numbers.
print("Tensor:",tensor)
Example 1
# torch.normal(mean, std, *, generator=None, out=None) → Tensor import torch # define mean and std mean=torch.arange(1., 11.) std=torch.arange(1, 0, -0.1) # print mean and std print("Mean:", mean) print("STD:", std) # compute the tensor of random numbers tensor = torch.normal(mean, std) # print the computed tensor print("Tensor:",tensor)
Output
Mean: tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]) STD: tensor([1.0000, 0.9000, 0.8000, 0.7000, 0.6000, 0.5000,0.4000, 0.3000, 0.2000, 0.1000]) Tensor: tensor([ 0.8557, 1.1373, 2.5573, 3.3513, 4.3764, 5.4221, 6.5343, 7.9068, 8.6984, 10.1292])
Notice in the above example, both the mean and std are given and the elements on both the tensors are same.
Example 2
# torch.normal(mean=0.0, std, *, out=None) → Tensor import torch tensor = torch.normal(mean=0.5, std=torch.arange(1., 6.)) print(tensor)
Output
tensor([ 0.4357, 1.1931, 2.8821, -2.3777, -1.8948])
Notice that in the above example, the mean is shared along all drawn elements.
Example 3
# torch.normal(mean, std=1.0, *, out=None) → Tensor import torch tensor = torch.normal(mean=torch.arange(1., 6.)) print(tensor)
Output
tensor([1.3951, 2.0769, 2.4525, 3.6972, 7.7257])
Notice that in the above example, the standard deviation is given as a parameter. Here, the default std is set to 1. The std is shared along all drawn elements.
Example 4
# torch.normal(mean, std, size, *, out=None) → Tensor import torch tensor = torch.normal(2, 3, size=(1, 4)) print(tensor)
Output
tensor([1.3951, 2.0769, 2.4525, 3.6972, 7.7257])
Notice that in the above example, the mean and the standard deviations are shared among all drawn elements.