TensorFlow计算模型解析:计算图的应用

1.计算图的概念:

计算图:输入和计算函数都以节点的形式出现,而节点的输出项之间的关系以有向线段表示所构成的计算图形。

如:向量a, b 相加:

Tensorflow计算模型——计算图_qt



2. 计算图的使用:

注意:Tensorflow程序一般分两步:定义计算图中所有计算;执行计算

在tensorflow代码执行的时候,tensorflow会自定定义一个默认的计算图,可以通过tf.get_default_graph函数来获取当前默认的计算图

登录后复制

import tensorflow as tf

'''tensorflow程序第一步:定义计算图中所有计算'''
a=tf.constant([1.0, 2.0], name="a")
b=tf.constant([2.0, 3.0], name="b")
result=a+b

'''判断a节点是不是在默认节点中'''
print(a.graph is tf.get_default_graph())
print(b.graph is tf.get_default_graph())

输出:
True
True1.2.3.4.5.6.7.8.9.10.11.12.13.14.

当然,可以使用tf.Graph函数来生成新的计算图。

注意:计算图其实是一种数据结构,则上面的数据和运算不会相互共享。



登录后复制

import tensorflow as tf

'''tensorflow第一步:定义所有计算'''

g1=tf.Graph()
with g1.as_default():
    '''在计算图g1中定义变量“v",并初始化为0'''
    v=tf.get_variable( "v", shape=[1,2],initializer=tf.zeros_initializer )

g2=tf.Graph()
with g2.as_default():
    '''在计算图g2中定义变量“v",初始化为1'''
    v=tf.get_variable( "v", shape=[2,3],initializer=tf.ones_initializer )

'''tensorflow第二步:运行计算'''

with tf.Session(graph=g1) as sess:
    tf.initialize_all_variables().run()         #初始化所有变量
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))       #获取变量v

with tf.Session(graph=g2) as sess:
    tf.initialize_all_variables().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))

输出:
[[0. 0.]]
[[1. 1. 1.]
 [1. 1. 1.]]1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.

计算图由节点和关系构成,那么计算图的资源如何给用户比较方便的调用呢?

在一个计算图中可以使用集合(collection)来管理整个资源。这里的资源具体指的是张量,变量,或者队列等。

tf.add_to_collection函数将资源加入一个或者多个collection

tf.get_collection函数,获取指定collection中的所有资源



几个常用的集合

Tensorflow计算模型——计算图_qt_02



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关推荐
技术文档
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空