【TensorFlow】计算图graph的使用学习笔记(二)

本文介绍TensorFlow中计算图的使用方法及张量的基本概念。包括如何定义和使用默认计算图,创建自定义计算图,以及张量的功能与属性。

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

1、计算图的使用

TensorFlow程序一般分为两段,一段是定义计算图的计算,第二阶段是执行计算。

import tensorflow as tf
a = tf.constant([1.0,2.0],name = 'a')
b = tf.constant([2.0,3.0],name = 'b')
result = a+b
print(result)

在TensorFlow的程序中,系统会自动维护一个默认的计算图,通过tf.get_default_graph函数就可以获取当前默认的计算图。

#通过a.graph可以查看张量所属的计算图,因为没有指定,所以这个计算图应该等于当前默认的计算图
print(a.graph is tf.get_default_graph()) #结果为True

除了使用默认图,还可以通过tf.Graph()函数来生成新的计算图。不同计算图上的张量不会共享。

#在计算图g1中定义变量V,并设置初始值为0.
g1 = tf.Graph()
with g1.as_default():
    v = tf.get_variable('v',initializer = tf.zeros(shape=(1,)))
print(g1 is tf.get_default_graph())
#在计算图g2中定义变量V,并设置初始值为1
g2 = tf.Graph()
with g2.as_default():
    v = tf.get_variable('v',initializer = tf.ones(shape=(1,)))
print(g2 is tf.get_default_graph())
#读取计算图g1中的变量v
with tf.Session(graph = g1) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope('',reuse = True):
        print(sess.run(tf.get_variable('v')))
#读取计算图g2中的变量v
with tf.Session(graph = g2) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope('',reuse = True):
        print(sess.run(tf.get_variable('v')))       

2、张量

从功能上来说,张量可以简单的理解为多维数组。其中零阶张量表示为标量(scalar),一阶张量表示为向量(vector),也就是一维数组;但是张量在实现中,并不真正保存数字,而是保存的是如何得到这些数字的计算过程。

import tensorflow as tf
a = tf.constant([1.0,2.0],name = 'a')
b = tf.constant([2.0,3.0],name = 'b')
result = a+b
print(result)
'''输出:Tensor('add:0',shape=(2,),dtype = float32)'''

TensorFlow计算的结果并不是一个具体的数字,而是一个张量的结构。主要包含三个属性:name,shape,type。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值