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

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

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

Draws samples from a multinomial distribution.


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


  • 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.


The drawn samples of shape [batch_size, num_samples].

Defined in tensorflow/python/ops/