Функция torch.multinomial в PyTorch


Pytorch torch 参考手册Справочное руководство PyTorch torch

torch.multinomialЭто функция в PyTorch, используемая для мультиномиальной выборки: выборка производится из каждой строки входного тензора в соответствии с распределением вероятностей.

Определение функции

torch.multinomial(input, num_samples, replacement=False, generator=None)

Описание параметра

  • input- Тензор распределения вероятностей, каждая строка представляет собой распределение вероятностей, и сумма всех вероятностей должна быть равна 1
  • num_samples- Количество выборок
  • replacement- Разрешать ли выборку с возвращением (по умолчанию False)
  • generator- Генератор случайных чисел (необязательно)

Пример использования

Пример

import torch

# Задать распределение вероятностей
weights = torch.tensor([[0.0, 1.0],   # Вероятность второй категории равна 1
                        [0.5, 0.5],   # Вероятности двух категорий равны
                        [0.2, 0.3, 0.5]])  # Три категории

# Выборка без возвращения
result = torch.multinomial(weights, num_samples=2, replacement=False)
print("Распределение вероятностей:")
print(weights)
print("Результаты выборки без возвращения (2 выборки на строку):")
print(result)

# Выборка с возвращением
result_with_replacement = torch.multinomial(weights, num_samples=5, replacement=True)
print("Результаты выборки с возвращением (5 выборок на строку):")
print(result_with_replacement)

Pytorch torch 参考手册Справочное руководство PyTorch torch

Другие расширения