Fonction torch.multinomial de PyTorch
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 1num_samples- Nombre d'échantillonsreplacement- 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)
# 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)
Autres extensions