Tensorflow 张量板标量和图复制
我使用TensorBoard来可视化网络度量和图形 我创建了一个sessionTensorflow 张量板标量和图复制,tensorflow,tensorboard,Tensorflow,Tensorboard,我使用TensorBoard来可视化网络度量和图形 我创建了一个sessionsess=tf.InteractiveSession(),并在Jupyter笔记本中构建了该图 在图中,我包括两个摘要标量: with tf.variable_scope('summary') as scope: loss_summary = tf.summary.scalar('Loss', cross_entropy) train_accuracy_summary = tf.summary.sc
sess=tf.InteractiveSession()
,并在Jupyter笔记本中构建了该图
在图中,我包括两个摘要标量:
with tf.variable_scope('summary') as scope:
loss_summary = tf.summary.scalar('Loss', cross_entropy)
train_accuracy_summary = tf.summary.scalar('Train_accuracy', accuracy)
然后创建一个summary\u writer=tf.summary.FileWriter(logdir,sess.graph)
并运行:
\u,损耗总和,训练精度总和=成功运行([…],进刀量=进刀量)
我编写度量标准:
summary_writer.add_summary(loss_sum, i)
summary_writer.add_summary(train_accuracy_sum, i)
我运行代码三次
每次运行时,我都会重新导入TF并创建一个新的交互式会话
但是,在Tensorboard中,会为每次运行创建一个单独的标量窗口:
此外,如果我检查上次运行的数据,则图形似乎重复:
如何防止每次运行时重复图形和标量窗口
- 我希望所有数据都显示在相同的标量图中(具有多个系列/图)
- 我希望每次运行都引用单个图形可视化
“\u 1”
和“\u 2”
你如何避免这种情况?最简单的方法是每次运行代码时创建一个新的图形。有(至少)三种方法可以做到这一点:
- 将代码包装在块中,这将构造一个新对象,并将其设置为
块范围的默认图形with
- 如果在创建图之前构造会话,则可以将会话构造为
。新构造的sess=tf.InteractiveSession(graph=tf.graph())
对象保留为默认图形,直到调用tf.Graph
sess.close()
- 代码调用之间的调用
带有-block的
方法是“最结构化”的方法,如果您正在编写独立脚本,这可能是最好的方法。但是,由于您正在使用,我假设您正在使用某种交互式REPL,而其他两种方法可能更有用(例如,用于在多个单元格之间分割执行)。如果要解决此问题,则在保存多个图形时会出现此问题:
tf.reset\u default\u graph()谢谢!这正是问题所在:)从Jupyter笔记本上运行。我选择了选项#2:sess=tf.InteractiveSession(graph=tf.graph())
这也会造成很多负担吗?在这个意义上,每次你创建一个新的图表?