【问题标题】:Tensorflow seq2seq: Tensor' object is not iterableTensorflow seq2seq:张量'对象不可迭代
【发布时间】:2018-08-02 19:42:06
【问题描述】:

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

【问题讨论】:

    标签: tensorflow machine-learning lstm recurrent-neural-network sequence-to-sequence


    【解决方案1】:

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

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

    source code 中,您可以看到实现只是在for 循环中迭代decoder_inputs

    【讨论】:

      猜你喜欢
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 2020-02-26
      • 2018-10-25
      • 1970-01-01
      相关资源
      最近更新 更多