TensorFlow2.0学习笔记1.2:函数基础讲解二

tf.cast()用于实现强制类型转换

在这里插入图片描述tf.reduce_min() 找到张量中的最小值
tf.reduce_max() 找到张量中的最大值
我们构建一个张量x1,把它变成32位整形,它的最小值是1,它的最大值是3

axis可以指定操作的方向,对于一个二维张量,如果axis=0,表示对第一个维度进行操作,axis=1,表示对第二个维度进行操作 axis=0,表示纵向操作,沿经度方向 axis=1,表示横向操作,沿纬度方向

在这里插入图片描述
比如 我们可以通过调整axis=0或1来控制求平均值的方向
在这里插入图片描述tf.reduce_mean()是对两行三列向量中的所有元素求均值
tf.reduce_sum(x, axis=1)是沿着axis=1,也就是横向、纬度方向。所以第一行和是6,第二行和是7

Variable()函数可以作为变量标记为“可训练”,被它标记的变量会在反向传播中记录梯度信息。神经网络训练中,常用该函数标记待训练参数
在这里插入图片描述这个例子就是神经网络初始化参数w的代码
首先随机生成正态分布随机数,再给生成的随机数标记为可训练,这样在反向传播中就可以通过梯度下降更新参数w

TensorFlow提供了一些常用的计算函数
比如:加、减、乘、除、平方、次方、开方、矩阵乘法

在这里插入图片描述
在这里插入图片描述代码举例:

import tensorflow as tf

a = tf.ones([1, 3])
b = tf.fill([1, 3], 3.)
print("a:", a)
print("b:", b)
print("a+b:", tf.add(a, b))
print("a-b:", tf.subtract(a, b))
print("a*b:", tf.multiply(a, b))
print("b/a:", tf.divide(b, a))

在这里插入图片描述先创建一个一行三列的张量a,所有元素的值都是1。再创建一个一行三列的张量b,所有元素的值都是3
a和b对应元素相加结果是[[4. 4. 4.]]
a和b对应元素相减结果是[[-2. -2. -2.]]
a乘以b结果是[[3. 3. 3.]]
b除以a结果是[[3. 3. 3.]]

import tensorflow as tf

a = tf.fill([1, 2], 3.)
print("a:", a)
print("a的平方:", tf.pow(a, 3))
print("a的平方:", tf.square(a))
print("a的开方:", tf.sqrt(a))

在这里插入图片描述square()对张量a进行平方操作,pow()对张量进行n次方操作,sqrt()对张量进行开平方操作

比如构建一个一行两列的二维张量a,填充数值都是3
对a求3次方,是二维张量[[27. 27.]]
对a求平方,是二维张量[[9. 9.]]
对a开平方,是二维张量[[1.7320508 1.7320508]]

使用tf.matmul()函数进行矩阵1和矩阵2的乘法

import tensorflow as tf

a = tf.ones([3, 2])
b = tf.fill([2, 3], 3.)
print("a:", a)
print("b:", b)
print("a*b:", tf.matmul(a, b))

比如对三行两列 全1矩阵a,和两行三列 全3矩阵b进行矩阵乘法
结果是三行三列的全6矩阵
[[6. 6. 6.]
[6. 6. 6.]
[6. 6. 6.]]

神经网络在训练时,是把输入特征和标签配对后喂入网络的,TensorFlow给出了把特征和标签配对的函数from_tensor_slices()
在这里插入图片描述from_tensor_slices()这个函数对numpy格式和tensor格式都适用

import tensorflow as tf

features = tf.constant([12, 23, 10, 17])
labels = tf.constant([0, 1, 1, 0])
dataset = tf.data.Dataset.from_tensor_slices((features, labels))
print(dataset)
for element in dataset:
    print(element)

在这里插入图片描述我们收集的特征是12 23 10 17,每个特征对应的标签是0 1 1 0,可以用tf.data.Dataset.from_tensor_slices((features, labels))把特征和标签配对上
看程序的运行结果:
输入特征12和标签0对应,这里把12和0配对
输入特征23和标签1对应,这里把23和1配对
输入特征10和标签1对应,这里把10和1配对
输入特征17和标签0对应,这里把17和0配对

猜你喜欢

转载自blog.csdn.net/weixin_44145452/article/details/112917463