一、tensorflow基础
使用 TensorFlow, 你必须明白 TensorFlow:
- 使用图 (graph) 来表示计算任务.
- 在被称之为
会话 (Session)
的上下文 (context) 中执行图. - 使用 tensor 表示数据,tensor是张量,即多维数组。
- 通过
变量 (Variable)
维护状态. - 使用 feed 和 fetch 可以为任意的操作op(arbitrary operation) 赋值或者从其中获取数据.
综述:TensorFlow 是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor
, 执行计算, 产生 0 个或多个 Tensor.
结构简介:
- 一个Session会话中可以有多个graph图,graph图一般使用框架自带的默认图即可。
- 一个graph图中可以有多个操作op,op可以传入0或多个tensor传入,同时输出0或多个tensor。
- tensor即多维数组,tensor可以是Variable变量、constant常亮、placeholeder占位符,这三个会在后续内容更新讲解。
示例代码:
import tensorflow as tf #创建一个变量常量、两个常量,都是二维数组 x=tf.Variable([[1,2,3],[4,5,6]]) w=tf.constant([[1],[2],[3]]) b=tf.constant([[1],[1]]) #若定义了变量,在执行图操作之前,要对变量进行初始化,下面函数初始化所有变量 init=tf.global_variables_initializer() #OP:矩阵相乘 MatMul=tf.matmul(x,w) #OP:矩阵相加op Add=tf.add(MatMul,b) #OP:激活函数op ReLU=tf.nn.relu(Add) #创建一个Session会话,graph参数没有指定图则会调用默认图 sess=tf.Session() sess.run(init) #执行初始化 print(sess.run(ReLU)) #执行图的最后一步即可运行整个图,程序会自动一层一层往前调用 sess.close() #会话关闭 #用With创建会话,可以用需要close with tf.Session() as sess: sess.run(init) print(sess.run(ReLU))