Tensorflow计算模型——计算图
1.计算图的概念:
计算图:输入和计算函数都以节点的形式出现,而节点的输出项之间的关系以有向线段表示所构成的计算图形。
如:向量a, b 相加:
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
True
当然,可以使用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"))) #获取变量vwith 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.]]
计算图由节点和关系构成,那么计算图的资源如何给用户比较方便的调用呢?
在一个计算图中可以使用集合(collection)来管理整个资源。这里的资源具体指的是张量,变量,或者队列等。
tf.add_to_collection函数将资源加入一个或者多个collection
tf.get_collection函数,获取指定collection中的所有资源
几个常用的集合
作者:ALINGMAOMAO
出处:https://www.cnblogs.com/ALINGMAOMAO/p/17118103.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探