¿Cómo genero un vector aleatorio en TensorFlow y lo mantengo para su uso posterior?

Estoy tratando de generar una variable aleatoria y usarla dos veces. Sin embargo, cuando lo uso la segunda vez, el generador crea una segunda variable aleatoria que no es idéntica a la primera. Aquí hay un código para demostrar:

import numpy as np
import tensorflow as tf

# A random variable
rand_var_1 = tf.random_uniform([5],0,10, dtype = tf.int32, seed = 0)
rand_var_2 = tf.random_uniform([5],0,10, dtype = tf.int32, seed = 0)

#Op1
z1 = tf.add(rand_var_1,rand_var_2)

#Op2
z2 = tf.add(rand_var_1,rand_var_2)

init = tf.initialize_all_variables()

with tf.Session() as sess:
    sess.run(init)
    z1_op = sess.run(z1)
    z2_op = sess.run(z2)
    print(z1_op,z2_op)

yo quieroz1_op yz2_op ser iguales. Creo que esto es porque elrandom_uniform Op se llama dos veces. ¿Hay alguna manera de usar TensorFlow (sin usar NumPy) para lograr esto?

(Mi caso de uso es más complicado, pero esta es la pregunta destilada).

Respuestas a la pregunta(2)

Su respuesta a la pregunta