TensorFlow图,可视化,op操作对象

标签: 深度学习

1.图,graph

2.2 图与TensorBoard
    2.2.1 什么是图结构
        图结构:
            数据(Tensor) + 操作(Operation)
    2.2.2 图相关操作
        1 默认图
            查看默认图的方法
                1)调用方法
                    用tf.get_default_graph()
                2)查看属性
                    .graph
        2 创建图
            new_g = tf.Graph()
            with new_g.as_default():
                定义数据和操作

首先数据都会有个默认图,如果想调用则有上述两种方法
若想将自己的数据存在一个新图,则要用下面的操作,且注意

代码如下:(用的是2.0但是学的是1.x版本的ten所以用了抬头的操作来让2代调用1代)

mport tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
#让二代调用一代方法

def graph_demo():
    """
    图的演示
    :return:
    """
    # TensorFlow实现加法运算
    a_t = tf.constant(2)
    b_t = tf.constant(3)
    c_t = tf.add(a_t, b_t)
    print("a_t:\n", a_t)
    print("b_t:\n", b_t)
    print("c_t:\n", c_t)

    # 查看默认图
    # 方法1:调用方法
    default_g = tf.compat.v1.get_default_graph()
    print("default_g:\n", default_g)

    # 方法2:查看属性
    print("a_t的图属性:\n", a_t.graph)
    print("c_t的图属性:\n", c_t.graph)

    # 自定义图
    new_g = tf.Graph()
    # 在自己的图中定义数据和操作
    with new_g.as_default():
        a_new = tf.constant(20)
        b_new = tf.constant(30)
        c_new = a_new + b_new
        print("a_new:\n", a_new)
        print("b_new:\n", b_new)
        print("c_new:\n", c_new)
        print("a_new的图属性:\n", a_new.graph)
        print("c_new的图属性:\n", c_new.graph)
    #对于默认图的开启会话
    with tf.Session() as sess:
        c_t_value = sess.run(c_t)
        print("c_new_value:\n", c_t_value)
    # 开启new_g的会话
    #注意这里session里参数graph需要重新定义到新图上,否则其默认调用默认图
    with tf.Session(graph=new_g) as new_sess:
        c_new_value = new_sess.run((c_new))
        print("c_new_value:\n", c_new_value)
        print("new_sess的图属性:\n", new_sess.graph)
graph_demo()

2.Tensorboard

2.2.3 TensorBoard:可视化学习
        1 数据序列化-events文件
            tf.summary.FileWriter(path, graph=sess.graph)
        2 启动tensorboard
        见下图

在这里插入图片描述

 tf.summary.FileWriter("F:\\机器视觉\\new program", graph=sess.graph)

OP操作对象
相当于就是函数,进行运算的指令
每个指令对应唯一一个名称
如add

Tensor("add:0", shape=(), dtype=int32)

第一个参数就是指令名称,只由add产生

如constant

Tensor("Const_1:0", shape=(), dtype=int32)

PS:指令名称在不同图上面有不同的命名空间的,如果默认图有const-1,不影响自定义图有const-1

2.2.4 OP
        数据:Tensor对象
        操作:Operation对象 - Op
        1 常见OP
            操作函数        &                           操作对象
            tf.constant(Tensor对象)           输入Tensor对象 -Const-输出 Tensor对象
            tf.add(Tensor对象1, Tensor对象2)   输入Tensor对象1, Tensor对象2 - Add对象 - 输出 Tensor对象3
        2 指令名称
            一张图 - 一个命名空间

指令名称的名称是可以改变的,因为OP中有name参数,即:

 # TensorFlow实现加法运算
    a_t = tf.constant(2, name="a_t")
    b_t = tf.constant(3, name="a_t")
    c_t = tf.add(a_t, b_t, name="c_t")
    print("a_t:\n", a_t)
    print("b_t:\n", b_t)
    print("c_t:\n", c_t)

这样出来以后指令名称就变成了自定义的
且若定义重复,则会_1,_2

版权声明:本文为cccccccaaaaaaaaa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cccccccaaaaaaaaa/article/details/106015798

智能推荐

TensorFlow——TensorBoard可视化

前言 TensoeFlow可用于训练大规模深度神经网络所需的计算,使用该工具涉及的计算往往复杂而深奥。为了方便TensorFlow程序的理解、调试与优化,TensorFlow提供了TensorBoard可视化工具。 实现程序可视化过程: 数据序列化—events文件 启动TensorBoard 1、数据序列化—events文件 TensorBoard通过读取TensorFl...

Tensorflow——Tensorboard可视化

1.前言 本节内容会用到浏览器, 而且与 tensorboard 兼容的浏览器是 “Google Chrome”. 使用其他的浏览器不保证所有内容都能正常显示. 学会用 Tensorflow 自带的 tensorboard 去可视化我们所建造出来的神经网络是一个很好的学习理解方式. 用最直观的流程图告诉你你的神经网络是长怎样,有助于你发现编程中间的问题和疑问. 2.搭建网络...

Tensorflow可视化 Tensorboard

如何在训练过程中直观地观察loss和acc的曲线? TensorBoard是Tensorflow可视化工具,可以用来展现标量、文本、音频、图像、网络结构、网络各层权值偏移量的统计直方图等。 Tensorboard虽然是个好工具,但对于计算机知识欠缺的小白,操作稍有些麻烦。 操作关键点:基于Web浏览器可视化,即Tensorflow将监控数据写入文件、需要利用浏览器Web后端查看对应的数据。 创建监...

tensorflow tensorboard可视化

参考链接: https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/4-1-tensorboard1/  莫烦tensorboard可视化教程 http://wiki.jikexueyuan.com/project/tensorflow-zh/how_tos/summaries_and_tensorboard....

TensorFlow可视化结果

引入matplotlib来查看拟合效果 首先对随机生成的数据进行可视化,用于查看我们人为生成的数据的分布情况 以上代码的运行效果如下图所示: 接下来修改训练部分的代码,用于动态刷新图表 运行结果如下图所示,应该是个动态图效果,可以自己运行代码尝试 更改之后的全部代码...

猜你喜欢

tensorflow可视化--tensorboard

在训练过程中,可以通过tensorboard来查看运行的图以及误差等数据的变化过程,以下介绍tensorboard的几个模块。 (一)简单的结构说明 (1)整个大框架说明 如图1所示,tensorboard的结构包括:inputs,layer1,layer2,loss,train这几个大框架,这几个框架是在同一层次的。 图1 整个网络的大框架结构图 (2)每个layer的细则 如图2所示,tens...

TensorFlow数据可视化

 代码如下: 输出结果: tensorboard 在终端执行代码:      ...

冒泡排序,及改进方式,性能优化400%>>>附图解加源码

首先源码附上,源码中带有注释,看不懂没关系,源码后面附带图解,最后附上代码效率提升图 源码如下: 方案一:其实实现很简单,两层循环,每次内层迭代出最大的一个值,将其放入数组最后一个位置,外层循环的末端便往前移一位。其原理如下图 方案一代码块: 方案二:优化改进 仔细观察上面的图,我们不难发现当迭代到图下这样的情况时,其实已经全排序好了,但是我们还是需要对它进行1,2,3,4,5,6的迭代,这些情况...

css3常用选择器

先介绍一下基本选择器,如下几种 *:通配符。选择页面的所有元素 E:元素选择器。对页面的一些元素进行选择,如p,div,li等 .class:类选择器 #id:id选择器。一个Id在一个页面中只能选择,这是和类选择器的区别 E F:后代选择器。如ul li。选中ul下的li E>F:子元素选择器。如下,可以用 h1 > strong {color:red;}使h1的子元素strong变...

python is not set from command line or npm configuration

问题 猜测原因  python版本冲突 解决方案  去官网找到最新版本python 点击下载,注意记住你下载的目录,下载好以后,打开这个目录下的文件夹,Python310, 整个文件夹复制一下 在项目里运行npm config list --json 找到python的路径   我的是 C:\\Python27\\python.exe 说明项目里用的还是py...