tensorflow:tf.Graph

本文详细介绍了TensorFlow中的Graph类,包括获取默认图、命名空间、变量作用域、集合管理和控制依赖等关键方法。Graph代表数据流图,包含运算和张量。通过tf.Graph.as_default设置默认图,tf.variable_scope实现变量复用,get_all_collection_keys和get_collection用于管理集合。控制依赖用于指定操作的执行顺序,确保某些操作在其他操作之后执行。

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

Class Graph


A TensorFlow computation, represented as a dataflow graph.

一个Graph 包含很多tf.Operation 对象( represent units of computation;)和tf.Tensor 对象 (represent the units of data that flow between operations)

该类下的方法

tf.get_default_graph

- 获取默认的图

定义一个Operation就会添加新的操作到默认图:

c = tf.constant(4.0)
assert c.graph is tf.get_default_graph()

tf.Graph.as_default

创立新的默认图。

  • 注:这个类对于计算图来说不是线程安全的。
g = tf.Graph()
with g.as_default():
  # Define operations and tensors in `g`.
  c = tf.constant(30.0)
  assert c.graph is g

一个Graph 实例可以包括任意的”collections”。比如 tf.Variable 在创建一个图的时候放在这个 collection ( tf.GraphKeys.GLOBAL_VARIABLES) ,其他collection可以通过声明别的名字。collections相当对图中的类似的计算单元做了打包

name_scope

name_scope(name)

作用:Returns a context manager that creates hierarchical names for operations.

#操作单元在流程图上的操作名称
with tf.Graph().as_default() as g:
  c = tf.constant(5.0, name="c")
  assert c.op.name == "c"
  c_1 = tf.constant(6.0, name="c")
  assert c_1.op.name == "c_1"

#nested被声明为图g的默认scope
  # Creates a scope called "nested"
  with g.name_scope("nested") as scope:
    nested_c = tf.constant(10.0, name="c")
    assert nested_c.op.name == "nested/c"

    #图g创建scope "inner",被放在默认的scope“nested”内
    with g.name_scope("inner"):
      nested_inner_c = tf.constant(20.0, name="c")
      assert nested_inner_c.op.name == "nested/inner/c"

    # 名称为inner的scope已经存在,自动起别名 "inner_1",同样放在“nested”内
    with g.name_scope(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值