РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
660 of 769 menu

Функция normal

Функция normal создаёт тензор с элементами, извлечёнными из нормального распределения с заданными параметрами mean (среднее) и std (стандартное отклонение). Она поддерживает автоматическое расширение формы (broadcasting) для параметров, что позволяет гибко задавать распределения для каждого элемента. Первый параметр - mean, второй - std, третий (опционально) - size (форма тензора).

Синтаксис

torch.normal(mean, std, [size], [out], [dtype], [layout], [device], [requires_grad])

Пример

Создадим тензор размера 3×3 со случайными числами, имеющими среднее 0 и стандартное отклонение 1:

import torch torch.manual_seed(0) t = torch.normal(0, 1, size=(3, 3)) print(t)

Результат выполнения кода:

tensor([ [ 1.5410, -0.2934, -2.1788], [ 0.5684, -1.0845, -1.3986], [ 0.4033, 0.8380, -0.7193], ])

Пример

Сгенерируем тензор со значениями, взятыми из нормальных распределений с разными средними, заданными тензором:

import torch torch.manual_seed(1) mean = torch.tensor([0.0, 5.0, 10.0]) std = 1.0 t = torch.normal(mean, std) print(t)

Результат выполнения кода:

tensor([-0.7073, 4.5768, 9.9958])

Пример

Используем разные средние и стандартные отклонения для каждого элемента с помощью broadcasting:

import torch torch.manual_seed(2) mean = torch.tensor([[0.0], [5.0]]) std = torch.tensor([1.0, 2.0, 3.0]) t = torch.normal(mean, std) print(t)

Результат выполнения кода:

tensor([ [-0.5659, 1.8308, 1.4666], [ 5.2710, 5.5934, 4.6387], ])

Пример

Если параметры mean и std являются скалярами, обязательно указывать аргумент size:

import torch torch.manual_seed(3) t = torch.normal(2.0, 0.5, size=(2, 4)) print(t)

Результат выполнения кода:

tensor([ [2.1993, 2.5843, 2.4363, 1.7093], [2.2160, 2.0222, 1.3839, 1.8702], ])

Смотрите также

  • функцию rand,
    которая генерирует тензор со случайными числами из равномерного распределения на отрезке [0, 1)
  • функцию randn,
    которая создаёт тензор со случайными числами из стандартного нормального распределения (mean=0, std=1)
  • функцию normal,
    которая является основным инструментом для генерации нормально распределённых случайных чисел в PyTorch
  • функцию rand_like,
    которая создаёт тензор той же формы, что и переданный, но с равномерно распределёнными элементами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить