LSTM с накоплением тензорного потока: "Объект" Тензор "не повторяется"
Я пытаюсь построить LSTM RNN в тензорном потоке с числом слоев, равным num_layers
и каждый слой имеет ячейки, равные lstm_state_dim
, Ниже приведен код для генерации вычислительного графа для того же.
lstm_cells = []
for _ in range(num_layers):
lstm_cell = tf.contrib.rnn.BasicLSTMCell(lstm_state_dim)
lstm_cells.append(lstm_cell)
stacked_lstm_cell = tf.contrib.rnn.MultiRNNCell(lstm_cells)
self.lstm_outputs,_ = \
tf.nn.dynamic_rnn(stacked_lstm_cell,state_seq,\
initial_state = \
tf.nn.rnn_cell.LSTMStateTuple\
(tf.zeros([self.num_layers,self.batch_size,self.lstm_state_dim]),\
tf.zeros([self.num_layers,self.batch_size,self.lstm_state_dim])),\
dtype = tf.float32)
Я получаю сообщение об ошибке "TypeError: объект" Tensor "не повторяется". для следующих строк кода
self.lstm_outputs,_ = \
tf.nn.dynamic_rnn(stacked_lstm_cell,state_seq,\
initial_state = \
tf.nn.rnn_cell.LSTMStateTuple\
(tf.zeros([self.num_layers,self.batch_size,self.lstm_state_dim]),\
tf.zeros([self.num_layers,self.batch_size,self.lstm_state_dim])),\
dtype = tf.float32)
Что мне не хватает? Решение, предложенное в Tensor Flow - LSTM - объект Tensor, не подлежащий повторению, не имеет значения, несмотря на соответствующий заголовок. Первая причина в том, что я хочу state_is_tuple
быть установленным, чтобы быть Истиной. Во-вторых, я хочу использовать заполнители для ввода состояний начальной ячейки LSTM.