tensorflow:rnn中在使用MultiRnnCell过程中遇到的报错bug

这似乎是tensorflow的一个bug,以下是 stackoverflow里大佬的解答:

cell = tf.nn.rnn_cell.GRUCell(self._hidden_size,kernel_initializer=initializer)  
rnn_cells = tf.nn.rnn_cell.MultiRNNCell([cell] * self._num_layer) 

to ...

layers = [tf.nn.rnn_cell.GRUCell(self._hidden_size,kernel_initializer=initializer) 
          for _ in self._num_layer]
rnn_cells = tf.nn.rnn_cell.MultiRNNCell(layers)

可以参考:

https://github.com/tensorflow/tensorflow/issues/14897

另外,在使用函数:

outputs, final_state = tf.nn.dynamic_rnn(cell, x, initial_state=None, dtype=tf.float32, time_major=False)   


final_state 输出长度为 lstmcell的层数

猜你喜欢

转载自blog.csdn.net/qq_25987491/article/details/80778664