title: Running session multiple times with tf.random returns different values for conv2d
body: <pre><code>import tensorflow as tf 
  import numpy as np 
  
  x_tf = tf.placeholder('float',[None, 2, 5, 1])
  x_np = np.random.noraml(0,1,[1,2,5,1])
  
  # ======== filter option1 and option2 ===========
  f_np = np.random.normal(0,1,[1,3,1,1])
  f_tf = tf.constant(f_np,'float') # option 1
  f_tf = tf.random_normal([1,3,1,1]) # option 2
  # ===============================================
  
  x_conv = tf.nn.conv2d(x_tf,f_tf,[1,1,1,1],'SAME')
  
  with tf.Session() as sess:
       tf.global_variables_initializer().run()
       x_conv_np  = sess.run(x_conv, feed_dict={x_tf: x_np})
       x_conv_np2 = sess.run(x_conv, feed_dict={x_tf: x_np})
  </code></pre>
  
  <p>If I run the code above with option1, I get the same values for <code>x_conv_np</code> and <code>x_conv_np2</code>
  However, when I run the above with option2, I get different values for <code>x_conv_np</code> and <code>x_conv_np2</code>.</p>
  
  <p>I am guessing the tf.random_normal gets initialized every time the session is ran.
  Is this meant to happen?
  This happens even if I do the <code>tf.set_random_seed</code>
  Can someone explain how TensorFlow initializes its random variables when the session is ran?
  &nbsp;</p>