文章目录
一、tensorflow常用的函数
-
1.tf.cast(张量名,dtype=数据类型)
描述:将张量强制转换为指定的数据类型
代码示例:
import tensorflow as tf x1 = tf.constant([[1.,2.,3.],[4.,5.,6.]],dtype=tf.float64) x2 = tf.cast(x1,dtype=tf.int64) print(x2)
输出结果:
-
2.tf.reduce_min(张量)和tf.reduce_max(张量)
描述:分别计算张量维度上的最大值和最小值
代码示例:
a = tf.reduce_min(x1) print('a-->',a) b = tf.reduce_max(x2) print('b-->',b)
输出结果:(x1跟x2已经在第一个示例中给出)
-
3.理解axis
描述:axis=0表示行,即按行进行操作; axis=1表示列,按列进行操作
-
4.tf.reduce_mean(张量,axis=操作轴)
描述:对张量按指定维度进行求平均计算 注意:未指定时,对整个张量求均值
代码示例:
c = tf.reduce_mean(x1,axis=0) print('c-->(按行进行求均值)',c) d = tf.reduce_mean(x1,axis=1) print('d-->(按列进行求均值)',d) e = tf.reduce_mean(x1) print('e-->(未指定时,则求整个张量的均值)',e)
输出结果:
-
5.tf.reduce_sum(张量,axis=操作轴)
描述:对张量按指定维度进行求和计算 注意:未指定时,对整个张量求和
代码跟第四个类似,因此不进行展示
-
6.tf.Variable()
描述:tf.Variable()将变量标记为“可训练”,被标记的变量会在反向传播 中记录梯度信息。在神经网络训练中,常用该函数标记待训练参数。
代码示例:
v = tf.random.normal([2,2],mean=0,stddev=1) print('v-->(未标记):',v) w = tf.Variable(v) print('w-->(标记后):',w)
输出结果:
二、tensorflow的数学运算
-
1.对应元素的四则运算
描述: 1.tf.add(张量1,张量2):对应元素相加 2.tf.subtract(张量1,张量2):对应元素相减 3.tf.multiply(张量1,张量2):对应元素相乘 4.tf.divide(张量1,张量2):对应元素相除 ps:只要维度相同的张量才能进行四则运算
代码示例:
a = tf.ones([2,2],dtype=tf.int32) b = tf.fill([2,2],3) print('a-->',a) print('b-->',b) print('-----------------------------------') #四则运算 add = tf.add(a,b) print('add-->:',add) subtract = tf.subtract(a,b) print('substract-->:',subtract) multiply=tf.multiply(a,b) print('multiply-->:',multiply) divide = tf.divide(a,b) print('divide-->:',divide)
输出结果:
-
2.平方,次方,开方
描述: 1.tf.square(张量):计算张量的开方 2.tf.pow(张量,n):计算张量的n次方 3.tf.sqrt(张量):计算张量的开方
代码示例:
b = tf.fill([1,2],4.) print('b-->:',b) print('-----------------------------------------------------') square = tf.square(b) print('平方:',square) pow = tf.pow(b,3) print('3次方:',pow) s = tf.sqrt(b) print('开方:',s)
输出结果:
-
3.矩阵相乘tf.matmul(矩阵1,矩阵2)
描述:实现两个矩阵的相乘
代码示例:
a = tf.fill([2,3],3.) b = tf.ones([3,2]) print(tf.matmul(b,a))
输出结果:
-
4.tf.Dataset.from_tensor_slices((输入特征,输入标签))
描述:切割传入张量的第一维度,生成输入特征与标签对,构建数据集
代码示例:
feature = tf.constant([12,23,10,20]) label = tf.constant([1,2,3,0]) dataset = tf.data.Dataset.from_tensor_slices((feature,label)) for element in dataset: print(element)
输出结果:12对应1,23对应2,等等。这些分别变成一个输入特征与标签对。即( 特征,标签)配对
结尾
这是学习tensorflow2.0后的第二篇文章,这篇文章记录了常用函数以及数学运算。
下一篇将继续记录tensorflow的常用函数。(继续加油,未完待续!)