import tensorflow as tf

                                             state_is_tuple=True)
          inp = tf.constant(0.5, shape=[2, 2, 2])
          enc_outputs, enc_state = tf.nn.rnn(cell, inp, dtype=tf.float32)
          attn_states = tf.concat(1, [tf.reshape(e, [-1, 1, cell.output_size])
                                      for e in enc_outputs])
          dec_inp = [tf.constant(0.4, shape=[2, 2])] * 3
          dec, mem = tf.nn.seq2seq.attention_decoder(
              dec_inp, enc_state,
              attn_states, cell, output_size=4)
          sess.run([tf.global_variables_initializer()])
          res = sess.run(dec)
          self.assertEqual(3, len(res))
          self.assertEqual((2, 4), res[0].shape)

          res = sess.run([mem])
          self.assertEqual(2, len(res[0]))
          self.assertEqual((2, 2), res[0][0].c.shape)
          self.assertEqual((2, 2), res[0][0].h.shape)
