我正在尝试使用tensorflow LSTM模型来进行下一个单词预测.
如此相关问题(没有接受的答案)中所述,该示例包含伪代码以提取下一个单词概率:
lstm = rnn_cell.BasicLSTMCell(lstm_size)
# Initial state of the LSTM memory.
state = tf.zeros([batch_size, lstm.state_size])
loss = 0.0
for current_batch_of_words in words_in_dataset:
# The value of state is updated after processing each batch of words.
output, state = lstm(current_batch_of_words, state)
# The LSTM output can be used to make next word predictions
logits = tf.matmul(output, softmax_w) + softmax_b
probabilities = tf.nn.softmax(logits)
loss += loss_function(probabilities, target_words)
Run Code Online (Sandbox Code Playgroud)
我对如何解释概率向量感到困惑.我修改__init__的功能PTBModel在ptb_word_lm.py存储概率和logits:
class PTBModel(object):
"""The …Run Code Online (Sandbox Code Playgroud)