Fonction torch.multinomial de PyTorch


Pytorch torch 参考手册Manuel de référence PyTorch torch

torch.multinomialEst une fonction de PyTorch utilisée pour l'échantillonnage multinomial, en échantillonnant à partir de chaque ligne du tenseur d'entrée selon la distribution de probabilité.

Définition de fonction

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

Description du paramètre

  • input- Tenseur de distribution de probabilité, chaque ligne est une distribution de probabilité, et la somme de toutes les probabilités doit être 1
  • num_samples- Nombre d'échantillons
  • replacement- Indique si l'échantillonnage avec remise est autorisé (par défaut False)
  • generator- Générateur de nombres aléatoires (facultatif)

Exemple d'utilisation

Exemple

import torch

# Définir une distribution de probabilité
weights = torch.tensor([[0.0, 1.0],   # La probabilité de la deuxième catégorie est 1
                        [0.5, 0.5],   # Les deux catégories ont des probabilités égales
                        [0.2, 0.3, 0.5]])  # Trois catégories

# Échantillonnage sans remise
result = torch.multinomial(weights, num_samples=2, replacement=False)
print("Distribution de probabilité :")
print(weights)
print("Résultats de l'échantillonnage sans remise (2 échantillons par ligne) :")
print(result)

# Échantillonnage avec remise
result_with_replacement = torch.multinomial(weights, num_samples=5, replacement=True)
print("Résultats de l'échantillonnage avec remise (5 échantillons par ligne) :")
print(result_with_replacement)

Pytorch torch 参考手册Manuel de référence PyTorch torch

Autres extensions