TensorFlow神经网络学习之张量与变量概念
程序员文章站
2022-03-24 08:06:51
目录一、张量定义张量:tensorflow的张量是n维数组,类型为tf.tensor。标量:一个数字 (0阶张量)向量:一维数组 (1阶张量)矩阵:二维数组 (2阶张量)二、张量属性1、张量的类型#创...
一、张量定义
张量:tensorflow的张量是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的资料请关注其它相关文章!