import tensorflow as tf

        batch_size = input_shape[0]
        passage_len = input_shape[1]

        with variable_scope.variable_scope("attention_decoder"):
            encoder_features = tf.expand_dims(encoder_states, axis=2) # now is shape [batch_size, passage_len, 1, encoder_dim]
            W_h = variable_scope.get_variable("W_h", [1, 1, encoder_dim, options.attention_vec_size])
            self.W_h = W_h
            encoder_features = nn_ops.conv2d(encoder_features, W_h, [1, 1, 1, 1], "SAME") # [batch_size, passage_len, 1, attention_vec_size]
