torch.multinomial
function multinomial(input: Tensor, num_samples: number, options?: MultinomialOptions): Tensorfunction multinomial(input: Tensor, num_samples: number, replacement: boolean, options?: MultinomialOptions): TensorDraws samples from a multinomial distribution (GPU accelerated).
Uses GPU acceleration with cumsum + binary search for efficient sampling. For sampling WITH replacement, this is fully GPU-accelerated. For sampling WITHOUT replacement, falls back to CPU (requires async version).
Parameters
inputTensor- Tensor of probabilities (will be normalized if not summing to 1)
num_samplesnumber- Number of samples to draw
optionsMultinomialOptionsoptional- Optional settings for multinomial sampling
Returns
Tensor– A tensor with sampled indicesExamples
const weights = torch.tensor([0.1, 0.3, 0.6]);
const samples = torch.multinomial(weights, 5, { replacement: true }); // With replacement (GPU)