Tensor(张量) 是N维数组。
Flow(流)意味基于数据流图的计算。
Tensorflow是张量从 图像的一端流动到另一端的计算过程。
一、模型构建
session将图的OP分发到CPU或GPU之类的设计上,同时提供执行OP的方法。
这些方法执行后,将产生的tensor返回。在Python语言中,返回的tensor是numpyndarray对象。
session与图的交互过程中,可定义两种数据的流向机制:
1、注入机制(feed):通过占位符向模式中传入数据。
2、取回机制(fetch):从模式中得到结果。
二、模型运行
分为三个场景:训练场景、测试场景与使用场景。
===================
Session的定义使用:
1、不用with,需要写close语句
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!') #定义一个常量
sess = tf.Session() #建立一个session
print (sess.run(hello)) #通过session里面的run来运行结果
sess.close() #关闭session
2、使用with session
import tensorflow as tf
a = tf.constant(3) #定义常量3
b = tf.constant(4) #定义常量4
# 沿用Python中with的语法,当程序结束后会自动关闭session,而不需要再去写close
with tf.Session() as sess: #建立session
print ("相加: %i" % sess.run(a+b))
print( "相乘: %i" % sess.run(a*b))
3、定义占位符,使用feed机制,将具体数值(3和4)通过占位符传入,并进行运算。
import tensorflow as tf
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
add = tf.add(a, b)
mul = tf.multiply(a, b) #a与b相乘
with tf.Session() as sess:
# Run every operation with variable input
print ("相加: %i" % sess.run(add, feed_dict={a: 3, b: 4}))
print ("相乘: %i" % sess.run(mul, feed_dict={a: 3, b: 4}))
print(sess.run([add,mul],feed_dict={a:3,b:5}))
执行程序后,输出如下:
runfile('D:/WORK/tf/代码/TensorflowStudy/4-3 withsessionfeed.py', wdir='D:/WORK/tf/代码/TensorflowStudy')
相加: 7
相乘: 12
[8, 15]