TensorFlow张量与变量基础:定义、属性及操作详解
本文详解TensorFlow中张量与变量的核心概念。涵盖标量、向量、矩阵定义,介绍常数、随机张量创建方法,演示类型转换与形状重塑操作。同时阐述变量的定义、初始化及会话执行流程,帮助开发者掌握基础数据结构与操作。
一、张量定义
在TensorFlow框架中,张量(Tensor)本质上是n维数组,其数据类型为tf.Tensor。它是存储和传输数据的基本单元。
标量是指一个单独的数字,对应于0阶张量。
向量是一维数组,对应于1阶张量。
矩阵是二维数组,对应于2阶张量。
二、张量属性
1、张量的类型

#创建常数张量
a = tf.constant(3.0)
print(a)

2、张量的阶

三、张量的指令
1、常数张量(普通)
#创建常数张量
a = tf.constant(3.0)
print(a)


2、张量数组
1、固定张量数组(0)
#创建张量数组
#0:
array_0 = tf.zeros(shape=[3,3]) #3*3数组(0)

2、固定张量数组(1)
#1:
array_1 = tf.ones(shape=[3,3]) #3*3数组(1)
3、随机张量数组
#随机:
array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12)
# 2*3数组 均值(1.75) 标准差

3、查看张量值
查看张量值:通过调用张量的.eval()方法实现。
#会话(查看张量)
with tf.Session() as sess:
print(a.eval())
print(array_0.eval())
print(array_1.eval())
print(array_random.eval())

4、张量类型改变
#修改张量类型
array_0 = tf.cast(array_0, tf.int32)


5、张量形状改变
注:属于动态改变张量,需要张量元素个数固定。
#修改张量形状
array_random = tf.reshape(array_random, shape=[3,2])
修改前:

修改后:

代码
# 张量(创建与修改)
import tensorflow as tf
# 创建张量
def Create_Tensor():
# 创建常数张量
a = tf.constant(3.0)
print(a)
# 创建张量数组
# 0:
array_0 = tf.zeros(shape=[3, 3]) # 3*3数组(0)
# 1:
array_1 = tf.ones(shape=[3, 3]) # 3*3数组(1)
# 随机:
array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12)
# 2*3数组 均值(1.75) 标准差
# 会话(查看张量)
with tf.Session() as sess:
print(a.eval())
print(array_0.eval())
print(array_1.eval())
print(array_random.eval())
# 修改张量
def Modify_Tensor():
global array_0, array_random
print('修改后的:')
# 修改张量类型
array_0 = tf.cast(array_0, tf.int32)
# 修改张量形状
array_random = tf.reshape(array_random, shape=[3, 2])
# 会话(查看张量)
with tf.Session() as sess:
print(array_0.eval())
print(array_random.eval())
# 创建张量
Create_Tensor()
# 修改张量
Modify_Tensor()
四、变量
1、定义变量
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
2、初始化变量
TensorFlow的变量必须经过初始化步骤,否则程序会报错。
# 初始化变量
init = tf.global_variables_initializer()
3、开启会话(执行)
# 开启会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))

代码
# 变量
import tensorflow as tf
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
# 初始化变量
init = tf.global_variables_initializer()
# 开启会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))
以上就是TensorFlow神经网络学习之张量与变量概念的详细内容,更多关于TensorFlow的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









