你将要学习的内容
- 你将要了解什么是张量
- 数据流图是什么
- 如何创建一个简单的TensorFlow代码
- 如何创建一个常量
- 如何创建一个变量
- 如何创建一个占位符
- tensorflow 会话如何创建?
- 如何通过看数据流图,写一个TensorFlow代码
1. 基础知识的学习
1.1.TensorFlow概述
TensorFlow是一个采用数据流图,用于数值计算的开源软件库
-
节点(Nodes):在图中表示数学操作
-
线(edges):表示在节点间相互联系的多维数据
数组,即张量(tensor)
TensorFlow的特征
- 高度的灵活性
- 真正的可移植性(Portability)
- 将科研和产品联系在一起
- 自动求微分
- 多语言支持
- 性能最优化
1.2.1 TensorFlow张量
张量(tensor)是多维数组,目的是把向量、矩阵推向更高的维度
你就把他理解为一个数组
一维数组,二维数组…
张量的阶
TensorFlow用张量表示所有的数据
张量的维数称为阶,注:张量的阶和矩阵的阶不是同一个概念。
例如:
这是一个二阶的张量(面),矩阵不就是一个面吗?
1.2.2 数据流图 Data flow graph
TensorFlow 的名字本身描述了它自身的执行原理: Tensor (张量)意味着N维数组,Flow (流)意味着基于数据流图的计算
数据流图中的图就是我们所说的有向图,在图这种数据结构中包含两种基本元素:节点和边。
节点:对数据所做的运算或某种算子(Operation)。任何一种运算都有输人/输出,因此它也可以表示数据输人的起点或输出的终点
边:表示节点与节点之间的输人和输出关系,一种特殊类型的数据沿着这些边传递。这种特殊类型的数据在TensorFlow中被称为Tensor,即张量,所谓的张量通俗点说就是多维数组。
当我们输入张量的时候,节点代表的操作就会分配到计算设备完成计算
2.1.2一个简单的tensorflow 程序
import tensorflow as tf
# constant是TensorFlow的常量节点
message = tf.constant("hello")
# 方式一:
with tf.Session() as sess:
ms = sess.run(message).decode()
print(ms)
pass
执行结果
如果不想看到收到的消息可以通过这段代码屏蔽掉他
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']