125、TensorFlow计算图的执行

# TensorFlow使用tf.Session类来表示客户端程序之间的链接
# 虽然一个在其他语言中相似的接口也是可以使用的,列如C++ runtime
# 一个tf.Session对象提供了访问本地机器的方法,和使用TensorFlow运行时远程链接到设备的方法
# 它也对你的计算图信息进行缓存,因此你可以高效地运行相同的计算很多遍
# import tensorflow as tf
# Create a default in-process session
# with tf.Session() as sess:
    # ...
# Create a remote session
# with tf.Session("grpc://example.org:2222"):
    # ...
tf.Session.init()  # 接收3个可选的参数
# target 如果这个参数留空,session会使用当前机器的设备
# 但是你也可以指定grpc://  URL来指定TensorFlow服务器的地址
# 不同的tf.Session()会根据相同的配置文件链接到相同的Server,来进行分布式的训练

# graph默认情况下一个新的tf.Session会被产生,并且只能在当前默认的计算图中运行操作
# 如果你使用多个图在你的程序中,你可以指定声明tf.Graph当你构建你的session的时候

# config 这个参数允许你来指定一个tf.ConfigProto来控制的session的行为
# 列如一些配置包括如下:

# allow_soft_placement : true ,这个字段的值为true的时候会忽略tf.device声明,并且将所有的
# 操作都放置在CPU上面

# cluster_def:当使用分布式的TensorFlow的时候,这个操作允许你来指定
#                  哪一个机器来使用在计算图中,并且提供 job names , task indices 和 network addresses
#                  之间的映射

# graph_options.optimizer_options : 提供了TensorFlow在计算图上面的优化,在执行它之前

# gpu_options.allow_growth : 把这个设置为True 来改变GPU的内存的分配,这样它就会自动增长GPU的内存
# 而不是一开始就使用全部的GPU内存

 

posted @ 2018-02-17 11:08  香港胖仔  阅读(175)  评论(0编辑  收藏  举报