График отладчика Tensorboard исчезает, остается только очередь, почему? - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь использовать отладчик тензорной доски для отладки моего приложения.Я вижу, как график медленно строится, но когда начинается обучение, я вижу только узлы очереди в ЦП, а остальная часть графика и весь раздел GPU больше не видны.Проще всего это объяснить несколькими картинками.

Перед тем, как запустить первый файл session.run (var.assign (data)) для инициализации данных: enter image description here enter image description here Затем я выполняю инициализацию переменных: enter image description here и в конце, когда начинаю тренировку с sess.run (training_op): enter image description here Почему я вижу только очередь FIFO в конце, а не весь график?

Похоже, что графический процессор исключен из процесса отладки, но я не уверен, почему,потому что наверняка это привыкает, потому что я написал пользовательские операции, где при печати я получаю вывод, но это громоздкий способ отладки.

Я не могу опубликовать MVC, потому что кодовая база огромнаи замысловатый, но принцип таков:

  1. очереди FIFO
    • 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])
  2. построение графика
    • def make_var(self, name, shape, initializer=None, regularizer=None, trainable=True): return tf.get_variable(name, shape, initializer=initializer, regularizer=regularizer, trainable=trainable)
  3. инициализация переменных
    • session.run(var.assign(data))
  4. 2-й поток начал подпитывать очереди
    • t = threading.Thread(target=load_and_enqueue, args=(sess, self.net, data_layer, coord_train, iters_train))
  5. тренировочный цикл
    • Точки 5 и 6 показаны здесь:

форматирование фиктивного текста

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])

Дайте мне знать, если я смогу предоставить больше информации, и какой тип будет полезен для устранения этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...