保存Tensorflow图以便在Tensorboard中查看而无需汇总操作

jst*_*er7 17 tensorflow tensorboard

我有一个相当复杂的Tensorflow图,我想为优化目的进行可视化.是否有一个我可以调用的函数,只需保存图形以便在Tensorboard中查看而无需注释变量?

我试过这个:

merged = tf.merge_all_summaries()
writer = tf.train.SummaryWriter("/Users/Name/Desktop/tf_logs", session.graph_def)
Run Code Online (Sandbox Code Playgroud)

但没有产生任何产出.这是使用0.6轮.

这似乎是相关的: 在seq2seq模型的张量板中没有显示图形可视化

mrr*_*rry 18

为了提高效率,tf.train.SummaryWriter日志与磁盘异步.要确保图形显示在日志中,必须在程序退出之前调用close()flush()写入编写器.

  • tf.summary.FileWriter用于TF的最新版本 (2认同)

Kev*_*son 16

您也可以将图形转储为GraphDef protobuf并直接在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)
Run Code Online (Sandbox Code Playgroud)

这将输出一个类似于此的文件,具体取决于您的模型的具体情况.

node {
  name: "W"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
...
version 1
Run Code Online (Sandbox Code Playgroud)

在TensorBoard中,您可以使用"上传"按钮从磁盘加载它.

  • 没有“上传”按钮 (4认同)
  • “上传”按钮在哪里?我没看到 (2认同)
  • 如果我在没有摘要输出的情况下运行 tensorboard --logdir ./ ,则“图形”选项卡左侧没有面板。 (2认同)
  • 我想你的意思是:>>> 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) 此评论适用于 tensorflow 的新用户。 (2认同)

Joa*_*ner 11

这对我有用:

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

使用"--logdir = logdir /"启动tensorboard时会自动加载图形.无需"上传"按钮.