欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1-3 TF常量与变量

程序员文章站 2024-03-14 17:48:46
...

1-3 TF常量与变量

标量、向量、张量

标量占据的是零维数组,向量占据的是一维数组 (语言信号),矩阵占据的是二维数组 (灰度图),张量占据的是3维乃至更高维度的数组,例如:RGB图像和视频

1-3 TF常量与变量

TensorFlow数据类型

TensorFlow与Python一样对数据类型要求非常严格,而且不支持自动类型转化,这是因为Py与TF本身主要的应用场景是数据挖掘与机器学习,这样的背景通常会进行大量的矩阵运算,如果数据类型不严格或者支持自动类型转化,会导致运算效率变低和运算结果不可预期。

1-3 TF常量与变量

TensorFlow常量操作

  1. Tensor 代表就是TF的数据结构,张量本身又分为三种:常量,变量,占位符
  2. 真正启动Session, 连接到时graph时张量才能被操作
  3. 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变量操作

  1. 通过with方式获取session可以不用关闭。
  2. 所有变量在执行之前必须用进行 sess.run(tf.global_variables_initializer()) 初始化操作。
  3. 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))

1-3 TF常量与变量