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.

0 ответов

Другие вопросы по тегам