Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存Tensorflow图形以在Tensorboard中查看,无需摘要操作_Tensorflow_Tensorboard - Fatal编程技术网

保存Tensorflow图形以在Tensorboard中查看,无需摘要操作

保存Tensorflow图形以在Tensorboard中查看,无需摘要操作,tensorflow,tensorboard,Tensorflow,Tensorboard,我有一个非常复杂的Tensorflow图,为了优化的目的,我想将其可视化。是否有一个我可以调用的函数,它可以简单地保存图形以便在Tensorboard中查看,而不需要注释变量 我试过这个: merged = tf.merge_all_summaries() writer = tf.train.SummaryWriter("/Users/Name/Desktop/tf_logs", session.graph_def) 但没有产出。这是使用0.6车轮 这似乎与: 为了提高效率,日志将异步地保存到

我有一个非常复杂的Tensorflow图,为了优化的目的,我想将其可视化。是否有一个我可以调用的函数,它可以简单地保存图形以便在Tensorboard中查看,而不需要注释变量

我试过这个:

merged = tf.merge_all_summaries()
writer = tf.train.SummaryWriter("/Users/Name/Desktop/tf_logs", session.graph_def)
但没有产出。这是使用0.6车轮

这似乎与:

为了提高效率,日志将异步地保存到磁盘。为了确保图形显示在日志中,您必须在程序退出之前调用写入程序上的或。

您还可以将图形作为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中,您可以使用“上载”按钮从磁盘加载它。

为了清楚起见,我使用
.flush()
方法解决了这个问题:

使用以下命令初始化编写器:

writer = tf.train.SummaryWriter("/home/rob/Dropbox/ConvNets/tf/log_tb", sess.graph_def)
writer.add_summary(summary_str, i)
    writer.flush()
并将编写器与以下内容一起使用:

writer = tf.train.SummaryWriter("/home/rob/Dropbox/ConvNets/tf/log_tb", sess.graph_def)
writer.add_summary(summary_str, i)
    writer.flush()
这对我很有用:

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

使用“-logdir=logdir/”启动tensorboard时,图形将自动加载。不需要“上传”按钮。

除了这个,我什么都做不了

# Helper for Converting Frozen graph from Disk to TF serving compatible Model
def get_graph_def_from_file(graph_filepath):
  tf.reset_default_graph()
  with ops.Graph().as_default():
    with tf.gfile.GFile(graph_filepath, 'rb') as f:
      graph_def = tf.GraphDef()
      graph_def.ParseFromString(f.read())
      return graph_def

#let us get the output nodes from the graph
graph_def =get_graph_def_from_file('/coding/ssd_inception_v2_coco_2018_01_28/frozen_inference_graph.pb')

with tf.Session(graph=tf.Graph()) as session:
    tf.import_graph_def(graph_def, name='')
    writer = tf.summary.FileWriter(logdir='/coding/log_tb/1', graph=session.graph)
    writer.flush()

然后使用TB成功了

#ssh -L 6006:127.0.0.1:6006 root@<remoteip> # for tensor board - in your local machine type 127.0.0.1
!tensorboard --logdir '/coding/log_tb/1'
#ssh-L 6006:127.0.0.1:6006 root@#用于tensor板-在您的本地机器类型127.0.0.1中
!tensorboard--logdir'/coding/log_tb/1'

这个“上传”按钮在哪里?我什么也没看到没有上传按钮我是个新手。那么,如何上传呢?谢谢!如果我运行tensorboard--logdir./而没有摘要输出,则“Graphs”选项卡左侧没有面板。我想你的意思是:>>>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的新用户的。多亏了y.g(用户56195)修复了“FileWrite”而不是“FileWriter”的打字错误。3评论员拒绝了该编辑,说“打算向作者致辞”(大概是因为y g在编辑解释的末尾打了一个问号).Crazy.tf.train.SummaryWriter已被弃用,请改用tf.summary.FileWriter.
tf.summary.FileWriter
用于TFI的最新版本。我只是好奇为什么我们需要
会话
?我们可以通过调用
tf.compat.v1.get\u default\u graph()
来实现吗?