Función torch.multinomial de PyTorch
Manual de referencia de Pytorch torch
torch.multinomialEs una función de PyTorch utilizada para muestreo multinomial, que muestrea cada fila del tensor de entrada según una distribución de probabilidad.
Definición de la función
torch.multinomial(input, num_samples, replacement=False, generator=None)
Descripción de parámetros
input- Tensor de distribución de probabilidad, cada fila es una distribución de probabilidad, la suma de todas las probabilidades debe ser 1num_samples- Número de muestrasreplacement- Si se permite el muestreo con reemplazo (por defecto False)generator- Generador de números aleatorios (opcional)
Ejemplo de uso
Ejemplo
import torch
# Definir la distribución de probabilidad
weights = torch.tensor([[0.0, 1.0], # La probabilidad de la segunda categoría es 1
[0.5, 0.5], # Dos categorías con probabilidades iguales
[0.2, 0.3, 0.5]]) # Tres categorías
# Muestreo sin reemplazo
result = torch.multinomial(weights, num_samples=2, replacement=False)
print("Distribución de probabilidad:")
print(weights)
print("Resultado del muestreo sin reemplazo (2 muestras por fila):")
print(result)
# Muestreo con reemplazo
result_with_replacement = torch.multinomial(weights, num_samples=5, replacement=True)
print("Resultado del muestreo con reemplazo (5 muestras por fila):")
print(result_with_replacement)
# Definir la distribución de probabilidad
weights = torch.tensor([[0.0, 1.0], # La probabilidad de la segunda categoría es 1
[0.5, 0.5], # Dos categorías con probabilidades iguales
[0.2, 0.3, 0.5]]) # Tres categorías
# Muestreo sin reemplazo
result = torch.multinomial(weights, num_samples=2, replacement=False)
print("Distribución de probabilidad:")
print(weights)
print("Resultado del muestreo sin reemplazo (2 muestras por fila):")
print(result)
# Muestreo con reemplazo
result_with_replacement = torch.multinomial(weights, num_samples=5, replacement=True)
print("Resultado del muestreo con reemplazo (5 muestras por fila):")
print(result_with_replacement)
Otras extensiones