Slice error when using MultiRNNCell
This problem is occurring because you have doubled your GRU cell but your initial vector is not doubled. 
If your initial_vector size is [batch_size,50].
Then initial_vector = tf.concat(1,[initial_vector,initial_vector])
Now input this to decoder as initial vector.
I am using MultiRNNCell from tensorflow.models.rnn.rnn_cell. This is how declare my MultiRNNCell
Code:
e_cell = rnn_cell.GRUCell(self.rnn_size)
e_cell = rnn_cell.MultiRNNCell([e_cell] * 2)
Later on I use it from inside seq2seq.embedding_rnn_decoder as follows
ouputs, mem_states = seq2seq.embedding_rnn_decoder(decoder_inputs, enc_state, e_cell, vocab_size, output_projection=(W, b), feed_previous=False)#
On doing this I get the following error
Error:
tensorflow.python.framework.errors.InvalidArgumentError: Expected size[1] in [0, 0], but got 1024
         [[Node: en/embedding_rnn_decoder_1/rnn_decoder/MultiRNNCell/Cell1/Slice = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](Sigmoid_2, en/embedding_rnn_decoder_1/rnn_decoder/MultiRNNCell/Cell1/Slice/begin, en/embedding_rnn_decoder_1/rnn_decoder/MultiRNNCell/Cell1/Slice/size)]]
         [[Node: en/embedding_rnn_decoder/rnn_decoder/loop_function_17/StopGradient/_1230 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_11541_en/embedding_rnn_decoder/rnn_decoder/loop_function_17/StopGradient", tensor_type=DT_INT64, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
Has anyone seen a similar error? Any pointers?