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

本文介绍了TensorFlow中的图(Graph)概念,包括默认图和自定义图的创建。同时,详细阐述了OP操作对象,它们相当于执行运算的指令,每个OP有一个独特的名称。此外,提到了TensorBoard的使用以及如何通过name参数自定义OP的名称,以避免名称冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值