如何在元组中转换rnn nework的张量状态

时间:2018-03-21 16:38:11

标签: python tensorflow time-series rnn

我希望能够通过占位符将初始状态提供给网络,而TensorFlow只允许数组或张量进行提供(而且我不知道如何创建一个zer initiale状态元组)。但是tf.nn.dynamic_rnn函数需要一个大小为3的元组。 在这篇文章的答案中: How do I set TensorFlow RNN state when state_is_tuple=True?

公开了一种方法来执行此转换,但使用l = tf.unpack(state_placeholder, axis=0)的函数不再存在。如何执行从张量形状(num_layer,2,batch_size,hidden_​​layers)Feed到占位符到tf.nn.dynamic_rnn可接受的tupple作为initial_state参数的转换?

2 个答案:

答案 0 :(得分:0)

tf.unpack被替换为tf.unstack。你能用它吗?

答案 1 :(得分:0)

tf.unstack似乎做了工作,但tf.nn.dynamic_rnn仍然给我一个错误信息:AttributeError: 'LSTMStateTuple' object has no attribute 'get_shape' 如果它不是LSTMStateTuple,那是什么呢?

总堆栈跟踪错误是: enter image description here