如何理解tensorflow的Slice函数?

时间:2017-06-19 14:35:43

标签: tensorflow

最近,我从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是什么意思? 您的回答将不胜感激。非常感谢!

1 个答案:

答案 0 :(得分:0)

如果input的形状为[d1, d2, d3]time_stepd2以下的自然整数,

output = inputs[:, time_step, :]

然后输出是形状[d1, 1, d3]的矩阵,使

output[i, 0, j] = input[i, time_step, j]

它基本上提取括号中给出的索引给出的输入元素,“:”意味着“所有这些都在该维度上”