tf.multinomial

tf.multinomial(
    logits,
    num_samples,
    seed=None,
    name=None,
    output_dtype=None
)

Defined in tensorflow/python/ops/random_ops.py.

See the guide: Constants, Sequences, and Random Values > Random Tensors

Draws samples from a multinomial distribution.

Example:

# samples has shape [1, 5], where each value is either 0 or 1 with equal
# probability.
samples = tf.multinomial(tf.log([[10., 10.]]), 5)

Args:

  • logits: 2-D Tensor with shape [batch_size, num_classes]. Each slice [i, :] represents the unnormalized log-probabilities for all classes.
  • num_samples: 0-D. Number of independent samples to draw for each row slice.
  • seed: A Python integer. Used to create a random seed for the distribution. See tf.set_random_seed for behavior.
  • name: Optional name for the operation.
  • output_dtype: integer type to use for the output. Defaults to int64.

Returns:

The drawn samples of shape [batch_size, num_samples].