old_contents: import numpy as np
  import tensorflow as tf
  from tensorflow.models.rnn import rnn, rnn_cell
  from BiRNN import BiRNN
  
  learn_rate = 0.001
  training_iterations = 10000
  log_frequency = 100
  
  n_hidden = 64
  n_classes = 36
  
  x = tf.placeholder("float", [None, n_steps, n_input])
  y = tf.placeholder("float", [None, n_classes])
  
  weights = {
      'out': tf.Variable(tf.random_normal([2*n_hidden, n_classes]))
  }
  biases = {
      'out': tf.Variable(tf.random_normal([n_classes]))
  }
  
  pred = BiRNN(x, weights, biases)
  #print pred
  
  cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))
  optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
  
  
new_contents: import numpy as np
  import tensorflow as tf
  from tensorflow.models.rnn import rnn, rnn_cell
  from BiRNN import BiRNN
  
  learn_rate = 0.001
  training_iterations = 10000
  log_frequency = 100
  
  n_hidden = 64
  n_classes = 36
  
  x = tf.placeholder("float", [None, n_steps, n_input])
  y = tf.placeholder("float", [None, n_classes])
  
  weights = {
      'out': tf.Variable(tf.random_normal([2*n_hidden, n_classes]))
  }
  biases = {
      'out': tf.Variable(tf.random_normal([n_classes]))
  }
  
  pred = BiRNN(x, weights, biases)
  #print pred
  
  cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))
  optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
  
  correct_pred = tf.equal(tf.argmax(pred,1), tf.argmax(y,1))
  accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))
  
  init = tf.initialize_all_variables()
  
  
subject: initialize tf variables