Python 如何将3d张量传递给tensorflow RNN嵌入\u RNN\u seq2seq

Python 如何将3d张量传递给tensorflow RNN嵌入\u RNN\u seq2seq,python,tensorflow,word2vec,recurrent-neural-network,Python,Tensorflow,Word2vec,Recurrent Neural Network,我试图输入每个世界都有word2vec表示的句子。 如何在tensorflow seq2seq模型中实现这一点 假设变量 enc_inp = [tf.placeholder(tf.int32, shape=(None,10), name="inp%i" % t) for t in range(seq_length)] 具有维度[观察数量或批量大小x单词向量表示x句子长度] 当我将其传递给embedding_rnn_seq2seq时 decode_outputs, decode_s

我试图输入每个世界都有word2vec表示的句子。 如何在tensorflow seq2seq模型中实现这一点

假设变量

enc_inp = [tf.placeholder(tf.int32, shape=(None,10), name="inp%i" % t)
       for t in range(seq_length)]
具有维度[观察数量或批量大小x单词向量表示x句子长度]

当我将其传递给embedding_rnn_seq2seq时

decode_outputs, decode_state = seq2seq.embedding_rnn_seq2seq(
    enc_inp, dec_inp, stacked_lstm, 
    seq_length, seq_length, embedding_dim)
发生错误

ValueError: Linear is expecting 2D arguments: [[None, 10, 50], [None, 50]]
还有一个更复杂的问题 如何将pas作为向量而不是标量输入到RNN的第一个单元格

现在看起来(当我们谈论任何序列时)

  • 获取序列的第一个值(标量)
  • 计算第一层RNN第一层嵌入单元输出
  • 计算第一层RNN第二层嵌入单元输出
  • 但这是必要的:

  • 获取序列(向量)的第一个值
  • 计算第一层RNN第一层单元输出(当输入为向量时,与普通计算简单感知器一样)
  • 计算第一层RNN第二层嵌入单元输出(当输入为向量时,作为普通计算简单感知器)
  • 要点是: seq2seq在其内部制作自嵌入单词。

    此外,如果smbd想要使用预训练Word2Vec,有几种方法可以做到这一点, 见:

    因此,这不仅可以用于单词嵌入