mindspore.ops.Multinomial
- class mindspore.ops.Multinomial(seed=0, seed2=0, dtype=mstype.int32)[source]
Returns a tensor sampled from the multinomial probability distribution located in the corresponding row of tensor input.
Note
The rows of input do not need to sum to one (in which case we use the values as weights), but must be non-negative, finite and have a non-zero sum.
- Parameters
- Inputs:
x (Tensor) - the input tensor containing the cumsum of probabilities, must be 1 or 2 dimensions.
num_samples (int) - number of samples to draw, must be a nonnegative number.
- Outputs:
Tensor with the same rows as x, each row has num_samples sampled indices.
- Raises
TypeError – If neither seed nor seed2 is an int.
TypeError – If dtype of num_samples is not int.
TypeError – If dtype is not mstype.int32 or mstype.int64.
ValueError – If seed or seed2 is less than 0.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> x = Tensor([[0., 9., 4., 0.]], mstype.float32) >>> multinomial = ops.Multinomial(seed=10) >>> output = multinomial(x, 2) >>> print(output) [[1 1]]