Tensorflow seq2seq: объект Tensor'не повторяется

Я использую seq2seq ниже кода, я нашел ошибку ниже:

cell = tf.nn.rnn_cell.BasicLSTMCell(size)
a, b = tf.nn.dynamic_rnn(cell, seq_input, dtype=tf.float32)
cell_a = tf.contrib.rnn.OutputProjectionWrapper(cell, frame_dim)
dec_output= tf.contrib.legacy_seq2seq.rnn_decoder(seq_input, b, cell_a)

но я получаю ошибку:

TypeError: 'Tensor' object is not iterable.

Я проверил, и это происходит из строки seq2seq.

1 ответ

Решение

Похоже seq_input это тензор, а не список тензоров. Один тензор отлично работает для tf.nn.dynamic_rnn, но rnn_decoder требует распаковки последовательности в список тензоров:

decoder_inputs: Список 2D тензоров [batch_size x input_size],

В исходном коде вы можете видеть, что реализация просто перебирает decoder_inputs в for петля.

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