Tensorflow命名空间与计算图可视化

Tensorflow命名空间与计算图可视化

觉得有用的话,欢迎一起讨论相互学习~Follow Me

参考文献

参考文献Tensorflow实战Google深度学习框架

实验平台:

Tensorflow1.4.0

python3.5.0

  • Tensorflow可视化得到的图并不仅是将Tensorflow计算图中的节点和边直接可视化,它会根据每个Tensorflow计算节点的命名空间来整理可视化得到效果图,使得神经网络的整体结构不会被过多的细节所淹没。除了显示Tensorflow计算图的结构,Tensorflow还可以展示Tensorflow计算节点上的信息进行描述统计,包括频数统计和分布统计。
  • 为了更好的组织可视化效果图中的计算节点,Tensorboard支持通过Tensorflow命名空间来整理可视化效果图上的节点。在Tensorboard的默认视图中,Tensorflow计算图中同一个命名空间下的所有节点会被缩略为一个节点,而顶层命名空间的节点才会被显示在Tensorboard可视化效果图中。

tf.variable_scope和tf.name_scope函数区别

  • tf.variable_scope和tf.name_scope函数都提供了命名变量管理的功能,这两个函数在大部分情况下是等价的,唯一的区别在于使用tf.get_variable函数时:
import tensorflow as tf
# 不同的命名空间
with tf.variable_scope("foo"):
    # 在命名空间foo下获取变量"bar",于是得到的变量名称为"foo/bar"
    a = tf.get_variable("bar", [1])
    print(a.name)
    # foo/bar:0
with tf.variable_scope("bar"):
    # 在命名空间bar下获取变量"bar",于是得到的变量名称为"bar/bar".此时变量在"bar/bar"和变量"foo/bar"并不冲突,于是可以正常运行
    b = tf.get_variable("bar", [1])
    print(b.name)
    # bar/bar:0
#  tf.Variable和tf.get_variable的区别。

with tf.name_scope("a"):
    # 使用tf.Variable函数生成变量时会受到tf.name_scope影响,于是这个变量的名称为"a/Variable"
    a = tf.Variable([1])
    print(a.name)
    # a/Variable: 0

    # tf.get_variable函数不受头tf.name_scope函数的影响,于是变量并不在a这个命名空间中
    a = tf.get_variable("b", [1])
    print(a.name)
    # b:0

# with tf.name_scope("b"):
    # 因为tf.get_variable不受tf.name_scope影响,所以这里将试图获取名称为"a"的变量。然而这个变量已经被声明了,于是这里会报重复声明的错误。
    # tf.get_variable("b",[1])
  • 通过对变量命名空间进行管理,使用Tensorboard查看模型的结构时更加清晰
import tensorflow as tf
with tf.name_scope("input1"):
    input1 = tf.constant([1.0, 2.0, 3.0], name="input2")
with tf.name_scope("input2"):
    input2 = tf.Variable(tf.random_uniform([3]), name="input2")
output = tf.add_n([input1, input2], name="add")

writer = tf.summary.FileWriter("log/simple_example.log", tf.get_default_graph())
writer.close()
  • 这样程序中定义的加法运算都被清晰的展示出来,并且变量初始化等基本操作都被折叠起来。

  • 点击input2上的加号按钮,能够看到关于input2变量初始化的全过程。

原文地址:https://www.cnblogs.com/cloud-ken/p/9320481.html

时间: 2024-11-08 09:15:34

Tensorflow命名空间与计算图可视化的相关文章

TensorFlow计算模型—计算图

TensorFlow是一个通过计算图的形式来表述计算的编程系统.其中的Tnesor,代表它的数据结构,而Flow代表它的计算模型.TensorFlow中的每一个计算都是计算图上的一个节点,而节点之间的线描述了计算之间的依赖关系. 在TensorFlow程序中,系统会自动维护一个默认的计算图,通过tf.get_default_gragh函数可以获取当前默认的计算图. 除了默认的计算图,TensorFlow也支持通过tf.Graph函数来生成新的计算图.不同的计算图上的张量和运算不会共享.如下示例:

TensorFlow 计算模型 -- 计算图

TensorFlow是一个通过计算图的形式表述计算机的编程系统 TensorFlow程序一般分为两个阶段,第一个阶段需要定义计算图中所有的计算(变量) 第二个阶段为执行计算 如以下代码 import tensorflow as tf # 第一阶段定义所有的计算 a = tf.constant([1, 2], name='a') b = tf.constant([1, 2], name=b') result = a + b # 第二阶段,执行计算 # 创建一个会话 sess = tf.Sessio

Tensorflow计算模型——计算图

1.计算图的概念: 计算图:输入和计算函数都以节点的形式出现,而节点的输出项之间的关系以有向线段表示所构成的计算图形. 如:向量a, b 相加: 2. 计算图的使用: 注意:Tensorflow程序一般分两步:定义计算图中所有计算:执行计算 在tensorflow代码执行的时候,tensorflow会自定定义一个默认的计算图,可以通过tf.get_default_graph函数来获取当前默认的计算图 import tensorflow as tf '''tensorflow程序第一步:定义计算图

Tensorflow机器学习入门——网络可视化TensorBoard

一.在代码中给变量和操作命名并输出Graph到指定的文件夹 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import os #设置当前工作目录 os.chdir(r'H:\Notepad\Tensorflow') def add_layer(inputs, in_size, out_size, activation_function=None): with tf.name_scope('la

深度学习-CNN tensorflow 可视化

tf.summary模块的简介 在TensorFlow中,最常用的可视化方法有三种途径,分别为TensorFlow与OpenCv的混合编程.利用Matpltlib进行可视化.利用TensorFlow自带的可视化工具TensorBoard进行可视化.这三种方法,在前面博客中都有过比较详细的介绍.但是,TensorFlow中最重要的可视化方法是通过tensorBoard.tf.summary和tf.summary.FileWriter这三个模块相互合作来完成的. tf.summary模块的定义位于s

Tensorflow实战 手写数字识别(Tensorboard可视化)

一.前言 为了更好的理解Neural Network,本文使用Tensorflow实现一个最简单的神经网络,然后使用MNIST数据集进行测试.同时使用Tensorboard对训练过程进行可视化,算是打响学习Tensorflow的第一枪啦. 看本文之前,希望你已经具备机器学习和深度学习基础. 机器学习基础可以看我的系列博文: https://cuijiahua.com/blog/ml/ 深度学习基础可以看吴恩达老师的公开课: http://mooc.study.163.com/smartSpec/

TensorFlow——TensorBoard可视化

TensorFlow提供了一个可视化工具TensorBoard,它能够将训练过程中的各种绘制数据进行展示出来,包括标量,图片,音频,计算图,数据分布,直方图等,通过网页来观察模型的结构和训练过程中各个参数的变化. Tensorboard通过一个日志展示系统进行数据可视化,在session运行图的时候,将各类的数据汇总并输出到日志文件中.然后启动Tensorboard服务,Tensorboard读取日志文件,并开启6006端口提供web服务.让用户可以在浏览器中查看数据. 相关的API函数如下;

TensorBoard: 可视化学习

当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪神经网络的整个训练过程中的信息,比如迭代的过程中每一层参数是如何变化与分布的,比如每次循环参数更新后模型在测试集与训练集上的准确率是如何的,比如损失值的变化情况,等等.如果能在训练的过程中将一些信息加以记录并可视化得表现出来,是不是对我们探索模型有更深的帮助与理解呢? Tensorflow官方推出了可视化工具Tensorboard,可以帮助我们实现以上功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后

tensorboard 之 TF可视化

tensorboard是TF提供的一个可视化的工具 1.tensorboard可视化的数据来源? 将tensorflow程序运行过程中输出的日志文件进行可视化展示. 1.1 tensorflow怎样输出日志文件呢? tf.summary.FileWriter The FileWriter class provides a mechanism to create an event file in a given directory and add summaries and events to i