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

时间:2021-12-19 05:26:56

一、张量定义

张量: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))

以上就是TensorFlow神经网络学习之张量与变量概念的详细内容,更多关于TensorFlow的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/great_yzl/article/details/120504850