2

我在下面的代码中使用 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 行。

4

1 回答 1

2

看起来seq_input是张量,而不是张量列表。单个张量适用于tf.nn.dynamic_rnn,但rnn_decoder需要将序列分解为张量列表:

decoder_inputs:二维张量列表[batch_size x input_size]

源代码中,您可以看到实现只是decoder_inputsfor循环中迭代。

于 2018-02-22T21:02:46.220 回答