Сохранить график Tensorflow для просмотра в Tensorboard без сводных операций

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

Я попробовал это:

merged = tf.merge_all_summaries()
writer = tf.train.SummaryWriter("/Users/Name/Desktop/tf_logs", session.graph_def)

Но вывод не был произведен. Это использует колесо 0,6.

Похоже, это связано: Визуализация графика не отображается на тензорной доске для модели seq2seq

12 голосов | спросил jstaker7 23 WedEurope/Moscow2015-12-23T04:30:04+03:00Europe/Moscow12bEurope/MoscowWed, 23 Dec 2015 04:30:04 +0300 2015, 04:30:04

4 ответа


0

Для повышения эффективности tf.train.SummaryWriter ведет асинхронную запись на диск. Чтобы обеспечить отображение графика в журнале, необходимо вызвать close() или flush() на устройстве записи до выхода из программы.

ответил mrry 23 WedEurope/Moscow2015-12-23T05:15:52+03:00Europe/Moscow12bEurope/MoscowWed, 23 Dec 2015 05:15:52 +0300 2015, 05:15:52
0

Вы также можете вывести график в виде прототипа GraphDef и загрузить его непосредственно в TensorBoard. Вы можете сделать это без запуска сеанса или запуска модели.

## ... create graph ...
>>> graph_def = tf.get_default_graph().as_graph_def()
>>> graphpb_txt = str(graph_def)
>>> with open('graphpb.txt', 'w') as f: f.write(graphpb_txt)

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

node {
  name: "W"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
...
version 1

В TensorBoard вы можете использовать кнопку «Загрузить», чтобы загрузить его с диска.

ответил Kevin Robinson 23 WedEurope/Moscow2015-12-23T19:52:13+03:00Europe/Moscow12bEurope/MoscowWed, 23 Dec 2015 19:52:13 +0300 2015, 19:52:13
0

Это сработало для меня:

graph = tf.Graph()
with graph.as_default():
    ... build graph (without annotations) ...
writer = tf.summary.FileWriter(logdir='logdir', graph=graph)
writer.flush()

График загружается автоматически при запуске тензорной доски с "--logdir = logdir /". Кнопка «Загрузить» не требуется.

ответил Joachim Wagner 7 FebruaryEurope/MoscowbTue, 07 Feb 2017 18:27:38 +0300000000pmTue, 07 Feb 2017 18:27:38 +030017 2017, 18:27:38
0

Для ясности я использовал метод .flush() и решил проблему:

Инициализируйте писателя с помощью:

writer = tf.train.SummaryWriter("/home/rob/Dropbox/ConvNets/tf/log_tb", sess.graph_def)

и используйте писателя с:

writer.add_summary(summary_str, i)
    writer.flush()
ответил Rob Romijnders 23 MarpmWed, 23 Mar 2016 15:49:38 +03002016-03-23T15:49:38+03:0003 2016, 15:49:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132