Как создать нормальный дистрибутив в Python PyTorch

Опубликовано: 8 Сентября, 2022

В этой статье мы обсудим, как создать нормальное распределение в Pytorch на Python.

факел.нормальный()

Метод torch.normal() используется для создания тензора случайных чисел. Он будет принимать два входных параметра. первый параметр — это среднее значение, а второй параметр — это стандартное отклонение (стандартное отклонение).

Мы можем указать значения среднего и стандартного отклонения напрямую или предоставить тензор элементов. Этот метод возвращает тензор со случайными числами, которые возвращаются на основе среднего значения и стандартного отклонения.

Syntax: torch.normal(mean, std)

Parameters:

  • mean is the first parameter which takes tensor as an input.
  • std refers to the standard deviation which is the second parameter that takes tensor as an input

Return: This method returns a tensor of random numbers resulted from separate normal distribution whose mean and standard deviation are equal to provided mean and std.

Пример 1. В этом примере мы создаем два тензора по 5 элементов в каждом. один для среднего и второй для стандартного отклонения. Затем мы собираемся создать нормальное распределение из значений среднего и стандартного отклонения (стандартное отклонение).

Python3




# import the torch module
import torch
 
# create the mean with 5 values
mean = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])
 
# create the standard deviation with 5 values
std = torch.tensor([1.22, 0.78, 0.56, 1.23, 0.23])
 
# create normal distribution
print(torch.normal(mean, std))

Выход:

tensor([-0.0367,  1.7494,  2.3784,  4.2227,  5.0095])

Пример 2. В этом примере мы создаем два тензора, каждый из которых содержит только один элемент. один для среднего и второй для стандартного отклонения. Затем мы собираемся создать нормальное распределение из среднего значения и стандартного отклонения (стандартное отклонение).

Python3




# import the torch module
import torch
 
# create the mean with single value
mean = torch.tensor(3.4)
 
# create the standard deviation with
# single value
std = torch.tensor(4.2)
 
# create normal distribution
print(torch.normal(mean, std))

Выход:

tensor(1.3712)