网络编程
位置:首页>> 网络编程>> Python编程>> TensorFlow神经网络学习之张量与变量概念

TensorFlow神经网络学习之张量与变量概念

作者:_睿智_  发布时间:2023-07-06 20:58:02 

标签:TensorFlow,神经网络,张量,变量

一、张量定义

张量:TensorFlow的张量是n维数组,类型为tf.Tensor。

标量:一个数字 (0阶张量)

向量:一维数组 (1阶张量)

矩阵:二维数组 (2阶张量)

二、张量属性

1、张量的类型

TensorFlow神经网络学习之张量与变量概念


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

TensorFlow神经网络学习之张量与变量概念

2、张量的阶

TensorFlow神经网络学习之张量与变量概念

三、张量的指令

1、常数张量(普通)


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

TensorFlow神经网络学习之张量与变量概念

TensorFlow神经网络学习之张量与变量概念

2、张量数组

1、固定张量数组(0)


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

TensorFlow神经网络学习之张量与变量概念

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) 标准差

TensorFlow神经网络学习之张量与变量概念

3、查看张量值

查看张量值:张量.eval()


#会话(查看张量)
   with tf.Session() as sess:
       print(a.eval())
       print(array_0.eval())
       print(array_1.eval())
       print(array_random.eval())

TensorFlow神经网络学习之张量与变量概念

4、张量类型改变


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

TensorFlow神经网络学习之张量与变量概念TensorFlow神经网络学习之张量与变量概念

5、张量形状改变

注:属于动态改变张量,需要张量元素个数固定。


#修改张量形状
   array_random = tf.reshape(array_random, shape=[3,2])

修改前:

TensorFlow神经网络学习之张量与变量概念

修改后:

TensorFlow神经网络学习之张量与变量概念

代码


# 张量(创建与修改)
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))

TensorFlow神经网络学习之张量与变量概念

代码


# 变量
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))

来源:https://blog.csdn.net/great_yzl/article/details/120504850

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com