Usando condições se dentro de um gráfico TensorFlow

No fluxo tensor CIFAR-10tutorial nocifar10_inputs.py linha 174, é dito que você deve aleatoriamente a ordem das operações random_contrast e random_brightness para melhorar o aumento dos dados.

Para fazer isso, a primeira coisa que penso é desenhar uma variável aleatória da distribuição uniforme entre 0 e 1: p_order. E fazer:

if p_order>0.5:
  distorted_image=tf.image.random_contrast(image)
  distorted_image=tf.image.random_brightness(distorted_image)
else:
  distorted_image=tf.image.random_brightness(image)
  distorted_image=tf.image.random_contrast(distorted_image)

No entanto, existem duas opções possíveis para obter p_order:

1) Usar numpy que me deixa insatisfeito porque eu queria TF puro e que o TF desencoraja seu usuário a misturar numpy e fluxo tensor

2) Usando TF, no entanto, como p_order só pode ser avaliado em uma tf.Session () eu realmente não sei se devo fazer:

with tf.Session() as sess2:
  p_order_tensor=tf.random_uniform([1,],0.,1.)
  p_order=float(p_order_tensor.eval())

Todas essas operações estão dentro do corpo de uma função e são executadas a partir de outro script que possui uma sessão / gráfico diferente. Ou eu poderia passar o gráfico do outro script como argumento para essa função, mas estou confuso. Mesmo o fato de o tensorflow funcionar como este ou a inferência, por exemplo, parecer definir o gráfico de uma maneira global sem retorná-lo explicitamente como uma saída, é um pouco difícil de entender para mim.

questionAnswers(1)

yourAnswerToTheQuestion