Tensorflow基本概念:
使用图(graphs)来表示计算任务
在被称为会话(Session)的上下文(context)中执行图
使用tensor表示数据
通过变量(Variable)维护状态
使用feed和fetch可以为任意的操作赋值或者从其中获取数据
总结就是:Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op(operation),一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。Tensor看作是一个n维的数组或列表。图必须在会话(Session)里被启动
Tensorflow结构:
注意:
1整个过程就像数据(Tensor)的流动(flow),整个图在会话Session中计算,operation表示节点
2图必须在会话里面执行,tensorflow的python库里面有个默认图。我们只要增加节点,把数据放到节点里就可以了
编程:
import tensorflow as tf
#创建一个常量的操作(op)
m1=tf.constant([[3,3]])
#创建一个常量的操作(op)
m2=tf.constant([[2],[3]])
#创建一个矩阵乘法的op,把m1和m2传入
product=tf.matmul(m1,m2)
print(product)
#定义一个会话,启动默认图
sess=tf.Session()
#调用sess的run方法来执行矩阵乘法op
#run(product)触发了图中3个op
#首先调用product时会调用调用matmul矩阵乘法执行m1和m2操作,然后调用m1和m2是会去执行生成常量的操作
result=sess.run(product)
print(result)
sess.close()
#使用这种形式打开一个会话,并且启动默认图
#这种不用sess.close(),所有操作执行完之后会自己关闭这个会话
with tf.Session() as sess:
result=sess.run(product)
print(result)