class_docstr: A bidirectional RNN encoder. Uses the same cell for both the
  forward and backward RNN. Stacking should be performed as part of
  the cell.
  
  Args:
    cell: An instance of tf.contrib.rnn.RNNCell
    name: A name for the encoder
class_docstr_tok: ["A","bidirectional","RNN","encoder",".","Uses","the","same","cell","for","both","the","forward","and","backward","RNN",".","Stacking","should","be","performed","as","part","of","the","cell",".","Args",":","cell",":","An","instance","of","tf.contrib.rnn.RNNCell","name",":","A","name","for","the","encoder"]
code: def __init__(self, params, mode, name="bidi_rnn_encoder"):
      super(BidirectionalRNNEncoder, self).__init__(params, mode, name)
      self.params["rnn_cell"] = _toggle_dropout(
          self.params["rnn_cell"], mode
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  import tensorflow
  from tensorflow.contrib.rnn.python.ops import rnn
  from seq2seq.encoders.encoder import Encoder, EncoderOutput
  from seq2seq.training import utils
label_desc: Use image node_id 1 to create a new BidirectionalRNNEncoder object from inherited base classes: Encoder with example: obj = BidirectionalRNNEncoder(params, mode, name)