Tensorflow基本概念
使用图(graphs)来表示计算任务
在被称为会话(Session)的上下文(context)中执行图
使用tensor表示数据
通过变量(Variable)维护状态
使用feed和fetch可以为任意的操作赋值或者从其中获取数据
Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op(operation),一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。Tensor看做是一个n维的数组或列表。图必须在会话(Session)中被启动。如下图所示意。
创建图,启动图
import tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' #忽略警告#创建一个常量op#[[3,3]]一行两列m1 = tf.constant([[3,3]])m2 = tf.constant([[2],[3]])#创建一个矩阵乘法op,把m1和m2传入product = tf.matmul(m1,m2)#print它只是得到了一个tensorprint(product) #To make TensorFlow be more "Pythonic" in version 2.0, by design TF 2.0 does not have tf.Session.#定义一个会话,启动默认图,tensorflow1.0版本用tf.compat.v1.Session#只有使用了run函数之后上面图中的op才会被执行with tf.compat.v1.Session() as sess: result = sess.run(product) print(result)
输出:
Tensor("MatMul:0", shape=(1, 1), dtype=int32)
[[15]]
一开始输出的product是一个tensor,后面输出的result是执行完op的结果。
创建一个变量
import tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' #忽略警告#x ===变量x = tf.Variable([1,2])c = tf.constant([3,3])#减法opsub = tf.subtr