PyTorch torch.multinomial Funktion


Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

torch.multinomialIst eine Funktion in PyTorch für multinomiale Stichprobenentnahme, die aus jeder Zeile des Eingabe-Tensors gemäß der Wahrscheinlichkeitsverteilung Stichproben zieht.

Funktionsdefinition

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

Parameterbeschreibung

  • input- Wahrscheinlichkeitsverteilungs-Tensor, jede Zeile ist eine Wahrscheinlichkeitsverteilung, und die Summe aller Wahrscheinlichkeiten sollte 1 sein
  • num_samples- Anzahl der Stichproben
  • replacement- Ob Stichproben mit Zurücklegen erlaubt sind (Standard: False)
  • generator- Zufallszahlengenerator (optional)

Anwendungsbeispiel

Beispiel

import torch

# Wahrscheinlichkeitsverteilung definieren
weights = torch.tensor([[0.0, 1.0],   # Die Wahrscheinlichkeit der zweiten Kategorie ist 1
                        [0.5, 0.5],   # Die beiden Kategorien haben gleiche Wahrscheinlichkeiten
                        [0.2, 0.3, 0.5]])  # Drei Kategorien

# Stichprobenentnahme ohne Zurücklegen
result = torch.multinomial(weights, num_samples=2, replacement=False)
print("Wahrscheinlichkeitsverteilung:")
print(weights)
print("Ergebnisse der Stichprobenentnahme ohne Zurücklegen (2 Stichproben pro Zeile):")
print(result)

# Stichprobenentnahme mit Zurücklegen
result_with_replacement = torch.multinomial(weights, num_samples=5, replacement=True)
print("Ergebnisse der Stichprobenentnahme mit Zurücklegen (5 Stichproben pro Zeile):")
print(result_with_replacement)

Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

Andere Erweiterungen