最近,我从tensorflow.Part代码的教程中学习了有关RNN的代码,如下所示,而https://www.tensorflow.org/tutorials/recurrent
的更多信息outputs = []
state = self._initial_state
with tf.variable_scope("RNN"):
for time_step in range(num_steps):
if time_step > 0: tf.get_variable_scope().reuse_variables()
(cell_output, state) = cell(inputs[:, time_step, :], state)#here!
outputs.append(cell_output)
我无法理解inputs[:, time_step, :]
的工作原理,例如,这些Args是什么意思?
您的回答将不胜感激。非常感谢!
答案 0 :(得分:0)
如果input
的形状为[d1, d2, d3]
,time_step
是d2
以下的自然整数,
output = inputs[:, time_step, :]
然后输出是形状[d1, 1, d3]
的矩阵,使
output[i, 0, j] = input[i, time_step, j]
它基本上提取括号中给出的索引给出的输入元素,“:”意味着“所有这些都在该维度上”。