1. 图(Graph)的核心数据结构
tf.Graph.__init__
:建立一个空图;tf.Graph.as_default():一个将某图设置为默认图,并返回一个上下文管理器,常与 with 结构相搭配;
g = tf.Graph()
with g.as_default():
# Define operations and tensors in `g`.
c = tf.constant(30.0)
assert c.graph is g c = tf.constant(4.0)
assert c.graph is tf.get_default_graph()tf.Graph.finalized:返回True,如果图被完成
- tf.Graph.finalize():完成图的构建,即将其设置为只读模式
if not tf.Graph.finalized:
tf.Graph.finalize()tf.Graph.control_dependencies(control_inputs):定义一个控制依赖,并返回一个上下文管理器,也常与 with 结构搭配;
with g.control_dependencies([a, b, c]):
....
d = …
e = … # `d` 和 `e` 将在 `a`, `b`, 和`c`执行完之后运行. def my_func(pred, tensor):
with tf.control_dependencies([pred]):
# 乘法操作(op)创建在该上下文,所以被加入依赖控制中
#执行完pred之后再执行matmul
return tf.matmul(tensor, tensor)tf.Graph.device(device_name_or_function):定义运行图所使用的设备,并返回一个上下文管理器
with g.device('/gpu:0'): ...
with g.device('/cpu:0'): ...