Tensorflow 中 RNN softmax输出层采样 tf.multinomial(logits, num_samples)

17 篇文章 1 订阅
14 篇文章 1 订阅

Tensorflow 中,想要使用sequence to sequence 模型,在RNN的输出端采样(sampling),可以在softmax层之后,做简单的log p 再用tf.multinomial()来实现:

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


# 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.
Returns:

The drawn samples of shape [batch_size, num_samples].

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


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值