Функция torch.multinomial в PyTorch
Справочное руководство PyTorch torch
torch.multinomialЭто функция в PyTorch, используемая для мультиномиальной выборки: выборка производится из каждой строки входного тензора в соответствии с распределением вероятностей.
Определение функции
torch.multinomial(input, num_samples, replacement=False, generator=None)
Описание параметра
input- Тензор распределения вероятностей, каждая строка представляет собой распределение вероятностей, и сумма всех вероятностей должна быть равна 1num_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)
# Задать распределение вероятностей
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)
Другие расширения