Tensorflowバージョン1.0多層エンコーダ出力状態1.0
私の質問はtf.contrib.seq2seq attention_decoder_fn_train
を期待していencoder_state
引数のどのような大きさ、です。
マルチレイヤエンコーダの状態出力は可能ですか?
コンテキスト:
私は1.0 tensorflow に多層双方向の注意ベースseq2seqを作成したいです。
マイエンコーダ:
cell = LSTM(n)
cell = MultiRnnCell([cell]*4)
((encoder_fw_outputs,encoder_bw_outputs),
(encoder_fw_state,encoder_bw_state)) = (tf.nn.bidirectional_dynamic_rnn(cell_fw=cell, cell_bw = cell....)
次に、mutilayered双方向エンコーダは、後方及び前方パスについても各レイヤのエンコーダcell_states[c]
とhidden_states[h]
戻って。 私はencoder_stateするためにそれを渡すために往路と復路の状態連結:
self.encoder_state = tf.concat((encoder_fw_state, encoder_bw_state), -1)
をそして、私は私のデコーダにこれを渡します
decoder_fn_train = seq2seq.simple_decoder_fn_train(encoder_state=self.encoder_state)
(self.decoder_outputs_train,
self.decoder_state_train,
self.decoder_context_state_train) = seq2seq.dynamic_rnn_decoder(cell=decoder_cell,...)
しかし、それは次のエラーを与える:
ValueError: The two structures don't have the same number of elements. First structure: Tensor("BidirectionalEncoder/transpose:0", shape=(?, 2, 2, 20), dtype=float32), second structure: (LSTMStateTuple(c=20, h=20), LSTMStateTuple(c=20, h=20)).
私のdecoder_cell
もまた多層です。
1: