TensorFlow计算图
张量(Tensor)
- 张量分为:零阶张量、一阶张量、二阶张量
零阶张量:纯量或标量,也就是一个数值。比如 [1]。
一阶张量:向量,比如[1, 2, 3]
二阶张量: 矩阵,比如[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
以此类推,还有三阶,三维的。。。
TensorFlow计算图
TensorFlow采用节点和线组成的数据流,整个数据流图描述了计算任务。每个节点op可以接受多个tensor的输入,也可以产生多个tensor的输出。每条线表示节点之间的张量tensor。
1. 定义数据源流图
2. 张量会不断在数据流图中的一个节点flow到另一个节点。
TensorFlow计算图
Session
Session是TensorFlow为了控制和输出文件的执行语句
sess.run(): 执行前面定义的结果
import tensorflow as tf
matrix1 = tf.constant([[3,3]]) #一行两列的矩阵
matrix2 = tf.constant([[2]
,[2]])
product = tf.matmul(matrix1, matrix2)
#method 1
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
# [[12]]
#method 2
with tf.Session() as sess: #with会自动执行当前对象的清理工作
result2 = sess.run(product)
print(result2)
# [[12]]
Variable
- TensorFlow定义了某字符串是变量,其才是变量
state = tf.Variable(0, name='counter') #定义state的初值为0, 名称为counter
- 在TensorFlow设定变量后,必须初始化
init = tf.initialize_all_variables()
- 激活变量
sess = tf.Session()
sess.run(init) #run init后,变量才被初始化
Placeholder 传入值
placeholder占位符,暂时存储变量
首先初始化placeholder对象后,用
sess.run(***, feed_dict = {input: **})
示例如下:
import tensorflow as tf
input1 = tf.placeholder(tf.float32) #给placeholder的类型
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2)
with tf.Session() as sess:
result = sess.run(output, feed_dict = {input1:[7.] , input2:[2.]}) #给placeholder传入值
print(result)