Tensorflow基本概念
- 使用图(graphs)来表示计算任务
- 在被称之为会话(session)的上下文(context)中执行图
- 使用tensor表示数据
- 使用变量(Variable)维护状态
- 使用feed和fetch可以为任意的操作赋值或者从其中获取数据
TensorFlow是一个编程系统,使用图(graphs)来表示计算任务,图中的节点称之为op(operation),一个op获得0个或多个tensor,执行计算,产生0个或多个tensor,tensor看作是一个n维的数组或列表。
图必须在会话(Session)里被启动
tensorflow结构
import tensorflow as tf
import os ##忽略AVX扩展警告
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
##建立矩阵
matrix1 = tf.constant([[3,3]]) #建立一个矩阵,一行两列
matrix2 = tf.constant([[2],
[2]]) #两行一列
product = tf.matmul(matrix1,matrix2) #matrix multipl矩阵相乘等同于numpy np.dot(m1,m2)
##print(product)
#结果并不是一个数字,而是tensor ,计算需要在会话里面的图,
# 前面只定义了一些op,但缺乏session,所以不会计算结果
#输出了Tensor("MatMul:0", shape=(1, 1), dtype=int32)
#Session
#method 1
sess = tf.Session() #定义好Session
result = sess.run(product) #result就要从Session中取得
print(result)
sess.close() #尽量有,更为整洁和系统
#method 2
with tf.Session() as sess: #我打开Session,不用去关闭它
result2 = sess.run(product)
print(result2)