博文配套视频课程:24小时实现从零到AI人工智能
标量、向量、张量
标量占据的是零维数组,向量占据的是一维数组 (语言信号),矩阵占据的是二维数组 (灰度图),张量占据的是3维乃至更高维度的数组,例如:RGB图像和视频
TensorFlow数据类型
TensorFlow与Python一样对数据类型要求非常严格,而且不支持自动类型转化,这是因为Py与TF本身主要的应用场景是数据挖掘与机器学习,这样的背景通常会进行大量的矩阵运算,如果数据类型不严格或者支持自动类型转化,会导致运算效率变低和运算结果不可预期。
TensorFlow常量操作
- Tensor 代表就是TF的数据结构,张量本身又分为三种:常量,变量,占位符
- 真正启动Session, 连接到时graph时张量才能被操作
- TF采用的是类似数据库的的声明式编程,Session前面都可以理解成声明,只有调用sess.run才代表真正的执行操作
import tensorflow as tf
# 创建两个常量 (常量:在深度学习过程中不能改变的变量)
a = tf.constant(value=3.14,dtype=tf.float32)
# 浮点类型默认tf.float32,整型默认为tf.int32
b = tf.constant(value=3.14,dtype=tf.float32)
print("a=",a)
print("b=",b)
# tensorflow 类似sql的声明式编程, 如果要执行变量,则必须创建一个session
sess = tf.Session() # session会连接graph图(所有运算的代码必需在图中执行)
print(sess.run(a+b))
sess.close()
TensorFlow变量操作
- 通过with方式获取session可以不用关闭。
- 所有变量在执行之前必须用进行 sess.run(tf.global_variables_initializer()) 初始化操作。
- Tensor张量四个重要属性:value、dtype、shape、name。
# tf 基本语法, 张量: (常量,变量,占位符)
import tensorflow as tf
# 创建两个常量 (常量:在深度学习过程中不能改变的变量)
a = tf.constant(value=3.14,dtype=tf.float32)
# 浮点类型默认tf.float32
b = tf.constant(value=3.14,dtype=tf.float32)
print("a=",a)
print("b=",b)
c = a + b
# 变量:在深度学习过程中可以改变的变量,通常用来存储模型的参数
d = tf.Variable(initial_value=3.14,dtype=tf.float32)
e = tf.add(d,c)
# 通过with方法系统会自动关闭session
with tf.Session() as sess:
# 变量必须显示声明初始化
sess.run(tf.global_variables_initializer())
print(sess.run(e))