什么是会话?
一个运行 TensorFlow operation 的类。tensorflow的底层是c++实现的,而上层调用使用的是python,所以在使用的时候中间环节需要使用到会话来作为中介,使用python来调用c++代码。
会话完整流程
1.会话初始化
2.会话执行op
3.关闭会话
placeholder起到占位的作用,与feed_dict在运行时共同使用,在运行时feed_dict可以喂数据给palceholder。
import tensorflow as tf f = tf.placeholder(dtype=tf.int32,shape=[2,2],name='f') with tf.Session() as ss: print(ss.run(f,feed_dict={f:[[1,2],[3,4]]})) ''' [[1 2] [3 4]] '''
run的时候,fetches参数需要是一个op或者一个op列表
运行会话并打印设备信息
import tensorflow as tf a = tf.constant(3.0,name="a") b = tf.constant(4.0,name="b") c = tf.add(a, b) ''' target指定运行远程设备 graph指定需要运行的图 config打印运行的相关系,包括映射关系与运行设备 ''' sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True)) with sess as ss: print(ss.run([a,c]))