如何使用Tensorflow的LSTM单元作为更大图形的一部分?

时间:2016-03-26 10:13:31

标签: tensorflow lstm

内置的LSTM单元格可以调用。但是,我想在LSTM图层之前和之后添加静态图层,并通过backprop训练所有内容。这可能吗?

1 个答案:

答案 0 :(得分:3)

单元格callable是一个函数,它将输入tf.Tensor和当前状态作为tf.Tensor,并返回输出tf.Tensor,新状态为{ {1}}。输入/输出和状态张量没有什么特别之处:这些可以从和/或用作其他TensorFlow操作的输入来计算。

例如,请查看ptb_word_lm.py模型:

tf.Tensor

这里,for time_step in range(num_steps): # ... (cell_output, state) = cell(inputs[:, time_step, :], state) outputs.append(cell_output) 是一个3-D张量,从中获取切片以获取LSTM的一个单元格的输入,inputsinitially使用{{1}计算然后,每个后续迭代都使用上一次迭代的状态。

state张量是result操作的tf.nn.embedding_lookup(); cell.zero_state()列表为later concatenated,用作损失计算的输入。 TensorFlow通过RNN和嵌入查找返回到模型变量。