内置的LSTM单元格可以调用。但是,我想在LSTM图层之前和之后添加静态图层,并通过backprop训练所有内容。这可能吗?
答案 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的一个单元格的输入,inputs
是initially使用{{1}计算然后,每个后续迭代都使用上一次迭代的状态。
state
张量是result操作的tf.nn.embedding_lookup()
; cell.zero_state()
列表为later concatenated,用作损失计算的输入。 TensorFlow通过RNN和嵌入查找返回到模型变量。