如何使用共享变量简化 Tensorboard 图?

Posted

技术标签:

【中文标题】如何使用共享变量简化 Tensorboard 图?【英文标题】:How to simplify Tensorboard graph with shared variables? 【发布时间】:2016-06-24 08:13:34 【问题描述】:

我正在使用 Tensorflow 的 cifar10 模型。我将inference 函数用于训练和评估管道,并共享内部的所有变量。我的 Tensorboard 图形可视化如图所示。

inference 范围内两个主要列之间的箭头(例如 conv1 -> conv1_1)希望反映所有 conv1 变量是共享的。

同时,代码中不存在节点conv1_1。看起来它是从conv1 复制的,以分隔我的两个输入的管道。

我的问题是图中所有*_1 节点的确切含义是什么?当我将 Tensorflow 中的范围和函数用于不同的输入时,它们是否会被复制? 主要问题:有没有办法在图形可视化中隐藏*_1 节点,因为它们令人困惑和混乱。

【问题讨论】:

【参考方案1】:

GitHub 上存在一个问题(仍然存在),解决方法 https://github.com/tensorflow/tensorflow/issues/9545

from tensorflow.python.ops import variable_scope as var_scope

def simple_variable_scope(name_or_scope, reuse=None):
  """Creates a variable scope without also creating a name scope."""
  return var_scope.variable_scope(name_or_scope, reuse=reuse,
                                  auxiliary_name_scope=False)

【讨论】:

是的,那个错误描述了完全相同的行为

以上是关于如何使用共享变量简化 Tensorboard 图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tensorboard 中可视化图神经网络的模型图

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

使用 keras 图启动 Tensorboard(用于可视化准确性、损失和预测结果)

运行TensorFlow

tensorflow使用tensorboard实现数据可视化

重新调整 Tensorboard 总结图