tf.multinomial()用法解釋
阿新 • • 發佈:2018-11-08
tf.multinomial(logits, num_samples, seed=None, name=None)
看一個使用LSTM的程式碼,使用了這個函式,故學習下。
從multinomial分佈中取樣,樣本個數是num_samples,每個樣本被取樣的概率由logits給出
引數:
logits: 2-D Tensor with shape [batch_size, num_classes]. Each slice [i, :] represents the unnormalized log probabilities for all classes.2維量,shape是 [batch_size, num_classes],每一行都是關於種類的未歸一化的對數概率
num_samples
返回值:
The drawn samples of shape [batch_size, num_samples],注意元素的取值範圍取決於num_samples
示例:
import tensorflow as tf
samples = tf.multinomial(tf.log([[10., 10., 10.]]), 5)
with tf.Session( ) as sess:
sess.run(samples)
# 執行結果:array([[2, 1, 2, 2, 0]])
存在一個疑問:使用這個函式會直接跑滿GPU,並且在互動環境下執行完,依舊佔用GPU,退出互動環境後才釋放視訊記憶體