Tensorflow - условная запись резюме в тензорную доску

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

Я хочу сделать что-то вроде этого:

with graph.as_default():
    tf_ending = tf.placeholder(tf.bool)
    tf.scalar_summary('Loss', loss) # Some summaries are written every time
    if tf_ending:
        # This summary should only get written sometimes.
        tf.scalar_summary('Total for Epoch', epoch_total)

У меня такое чувство, что мне нужно заняться чем-то другим, кроме tf.merge_all_summaries(), и отдельно управлять наборами резюме, но я не уверен, как это сработает.


person Melinda Weathers    schedule 14.10.2016    source источник


Ответы (1)


Один из способов сделать это - добавить настраиваемый протокол Summary к объекту SummaryWriter. В конце каждой эпохи (вне сеанса / графика) вы можете добавить что-то вроде:

summary = tf.Summary()
summary.value.add(tag='Total for Epoch',simple_value=epoch_total)
summary_writer.add_summary(summary, train_step)

Однако для этого требуется, чтобы значение (epoch_total) возвращалось через граф тензорного потока (sessions.run). Кроме того, я не уверен, что это лучший способ сделать что-то подобное, однако вы видите, что это используется в примерах TF, например. здесь и здесь.

person user1523170    schedule 14.10.2016