title: Tensorboard debugger graph disappears, only queue left, why?
body: <p>I am trying to use the tensorboard debugger to debug my application. I see how the graph gets slowly build, but when the training starts I only see the queue nodes on the CPU and the rest of the graph and the whole GPU section is not visible anymore. It is easiest to explain with a few pictures.</p>
  
  <p>Before I run the first session.run(var.assign(data)) to initialize data:
  <a href="https://i.stack.imgur.com/yOqPU.png" rel="noreferrer"><img src="https://i.stack.imgur.com/yOqPU.png" alt="enter image description here"></a>
  <a href="https://i.stack.imgur.com/Xxfcq.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Xxfcq.png" alt="enter image description here"></a>
  Then I step trough the initialization of the vars:
  <a href="https://i.stack.imgur.com/DN4mP.png" rel="noreferrer"><img src="https://i.stack.imgur.com/DN4mP.png" alt="enter image description here"></a>
  and at the end when I start the training with sess.run(training_op):
  <a href="https://i.stack.imgur.com/zRiq9.png" rel="noreferrer"><img src="https://i.stack.imgur.com/zRiq9.png" alt="enter image description here"></a>
  <strong>Why do I only see the FIFO queue in the end and not the whole graph?</strong> </p>
  
  <p>It looks like the GPU is getting cut out from the debugging process, but I'm not sure why, because for sure it is getting used, because I have written custom ops, where when I print I get output, but this is a cumbersome way to debug.</p>
  
  <p>I can't post a MVC because the codebase is huge and convoluted, but the principle is:</p>
  
  <ol>
  <li>FIFO queues 
  
  <ul>
  <li><code>q = tf.FIFOQueue(queue_size, [tf.float32, tf.float32, tf.int32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32])</code></li>
  </ul></li>
  <li>graph build up
  
  <ul>
  <li><code>def make_var(self, name, shape, initializer=None, regularizer=None, trainable=True):
  return tf.get_variable(name, shape, initializer=initializer, regularizer=regularizer, trainable=trainable)</code></li>
  </ul></li>
  <li>variables initialization
  
  <ul>
  <li><code>session.run(var.assign(data))</code></li>
  </ul></li>
  <li>2nd thread started to feed the queues
  
  <ul>
  <li><code>t = threading.Thread(target=load_and_enqueue, args=(sess, self.net, data_layer, coord_train, iters_train))</code></li>
  </ul></li>
  <li>training loop
  
  <ul>
  <li>point 5 and 6 are both shown here:</li>
  </ul></li>
  </ol>
  
  <p>formatting dummy text</p>
  
  <pre><code>for epoch in range(epochs):
      coord_train.run = True
      coord_val.run = True
      t = threading.Thread(target=load_and_enqueue, args=(sess, self.net, data_layer, coord_train, iters_train))
      t.start()
      t_val = threading.Thread(target=load_and_enqueue_val, args=(sess, self.net, data_layer, coord_val, iters_val))
      print("Epoch: %d / %d" % (epoch, epochs))
      for iter_train in range(iters_train):
  
          timer.tic()
          loss_summary, loss_cls_summary, loss_vertex_summary, loss_pose_summary, loss_regu_summary, loss_value, loss_cls_value, loss_vertex_value, loss_pose_value, loss_regu_value, lr, _ \
              = sess.run([loss_op, loss_cls_op, loss_vertex_op, loss_pose_op, loss_regu_op, loss, loss_cls, loss_vertex, loss_pose, loss_regu, learning_rate, train_op])
  </code></pre>
  
  <p>Let me know if I can provide more information and what kind would be useful to debug this problem.</p>