人工智能神器——TensorFlow入门基础(构建与启动图)
上一篇文章,我们介绍了TensorFlow的基础安装教学,本篇文章主要介绍TensorFlow的基本知识点,进行TensorFlow的学习
基本使用
使用 TensorFlow, 你需要知道 TensorFlow:
- 使用图 (graph) 来表示计算任务.
- 在被称之为 会话 (Session) 的上下文 (context) 中执行图.
- 使用 tensor 表示数据.
- 通过 变量 (Variable) 维护状态.
- 使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据
TensorFlow流程图
TensorFlow流程
TensorFlow主要包括:构建图(相当于输入层)、计算图、启动图(相当于训练层)
构建图:第一步, 是创建源 op (source op). 源 op 不需要任何输入, 例如 常量 (Constant). 源 op 的输出被传递给其它 op 做运算.
import tensorflow as tf # 创建一个常量 x(op), 产生一个 2x2 矩阵. 这个 x 被作为一个节点 # 构造器的返回值代表该常量 op 的返回值. x = tf.constant([[3., 3.], [4.,5.]]) # 创建另外一个常量 y(op), 产生一个 2x1 矩阵. y = tf.constant([[2.,3.],[2.,2.]]) # 创建一个矩阵乘法 matmul op , 把 'x' 和 'y' 作为输入. # 返回值‘z‘代表矩阵乘法的结果. z = tf.matmul(x, y) #若此时打印z,会出现如下结果 >>>Tensor("MatMul:0", shape=(2, 2), dtype=float32)
通过以上我们就构建了一个图,现在图中有三个节点x、y、z;为了得到z的结果(虽然z是x、y的矩阵乘积,但是现在z并没有执行乘法运算),我们必须启动图
矩阵计算
启动图:构造图后, 才能启动图. 启动图的第一步是创建一个 Session 对象, 如果无任何创建参数, 会话构造器将启动默认图.
# 启动默认图. sess = tf.Session() # 调用 sess 的 'run()' 方法来执行矩阵乘法 result=sess.run(z) #此时TensorFlow才会运行矩阵运算 print(result) # 任务完成, 关闭会话. sess.close() #此时打印result >>>[[12. 15.] [18. 22.]]
完整的代码如下:
import tensorflow as tf x = tf.constant([[3., 3.], [4.,5.]]) y = tf.constant([[2.,3.], [2.,2.]]) z=tf.matmul(x,y) print(z) with tf.Session() as sess: result = sess.run(z) print(result)
下期预告
TensorFlow的输入层(权重W,偏差bias),隐藏层,预测层、激励函数等
TensorFlow流程图