code: def build_bidirectional_lstm(
      layer_sizes, dropout_keep_prob, residual, is_training
  ):
      """Build the Tensorflow graph for a bidirectional LSTM."""
  
      cells_fw = []
      cells_bw = []
      for layer_size in layer_sizes:
          cells_fw.append(
              rnn_cell(
                  [layer_size], dropout_keep_prob, residual, is_training
              )
          )
          cells_bw.append(
              rnn_cell(
                  [layer_size], dropout_keep_prob, residual, is_training
              )
          )
  
      return cells_fw, cells_bw
  
imports: import collections
  from magenta.contrib import rnn
  from magenta.contrib import seq2seq
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling a global function with example usage: build_bidirectional_lstm(layer_sizes, dropout_keep_prob, residual, is_training) and returns: cells_fw,  cells_bw