TensorFlow 计算图

本文详细介绍了在TensorFlow中如何管理和使用计算图,包括默认计算图的获取、自定义计算图的创建、变量的共享机制、计算图的执行以及如何指定计算在特定设备上运行。此外,还讲解了如何利用TensorFlow提供的集合来管理和组织计算图中的资源。

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

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

 假如定义了两个变量:a = tf.constant([1.0,2.0],name="a"),b=tf.constant([2.0,3.0],name="b")

调用a.graph 得到的内容和tf.get_default_graph()是相同的,即a.graph is tf.get_default_graph()为真。

也可以自定义计算图:通过g1=tf.Graph()可以定义计算图  ,如果给这个计算图添加代码,可使用

with g1.as_default():

  v = tf.get_variable("v",initializer=tf.zeros_initializer(shape=[1]))

不同计算图中的同名变量是不相互共享的,如果要执行计算图中的代码,则执行:

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"))

 

针对不同的计算图,需要通过不同的session执行其中的代码,

也可以指定运行某个计算的设备:

with g1.device('/gpu:0'):

   result = a+ b

这两行代码指定了 加法运算在0号gpu上运行。

 

计算图中的资源很多,和进行管理呢,tensorflow 提供了几个管理资源的集合,我们可以把相应的资源加入相应的集合集中进行管理:

通过tf.add_to_collection将资源加入集合,tf.get_collection()获取集合中的资源进行处理。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值